용어 뜻:
출처:
파일 중복 체크시 문장(String)을 hash 값으로 바꾸어 중복을 체크하기 위해 필요한 알고리즘들이다.
MD5
메시지 축약 알고리즘으로서 파일 무결성 검사용도로 많이 쓰이고 있다.
128bit의 해시를 제공하며, 암호화와 복호화를 통하여 보안 용도로도 많이 쓰인다.
SHA-256
MD5와 거의 동일하지만 160bit의 해시를 제공한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// MD5
public String testMD5(String str){
String MD5 = "";
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte byteData[] = md.digest();
StringBuffer sb = new StringBuffer();
for(int i = 0 ; i < byteData.length ; i++){
sb.append(Integer.toString((byteData[i]&0xff) + 0x100, 16).substring(1));
}
MD5 = sb.toString();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
MD5 = null;
}
return MD5;
}
// SHA-256
public String testSHA256(String str){
String SHA = "";
try{
MessageDigest sh = MessageDigest.getInstance("SHA-256");
sh.update(str.getBytes());
byte byteData[] = sh.digest();
StringBuffer sb = new StringBuffer();
for(int i = 0 ; i < byteData.length ; i++){
sb.append(Integer.toString((byteData[i]&0xff) + 0x100, 16).substring(1));
}
SHA = sb.toString();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
SHA = null;
}
return SHA;
}
| cs |
안드로이드에서도 동일하게 사용했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public static String getMD5Hash(String str) {
//MD5 암호화 함수입니다.
String MD5 = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte byteData[] = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
MD5 = sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
MD5 = null;
}
return MD5;
}
| cs |
초보 개발자 이야기, 2016-10-27, http://ra2kstar.tistory.com/142
댓글
댓글 쓰기