2018. 10. 3. 01:20ㆍAndroid
public static String md5(String msg) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(msg.getBytes());
return byteToHexString(md.digest());
}
public static String sha1(String msg) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(msg.getBytes());
return byteToHexString(md.digest());
}
// SHA-256 암호화는 가능하나, 복호화는 불가
// MessageDigest객체 생성시 알고리즘을 "SHA-256"으로 해서 만듭니다. 해시된 데이터는 바이트 배열의 바이너리 데이터이므로 16진수 문자열로 변환해 줍니다.
public static String sha256(String msg) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(msg.getBytes());
return byteToHexString(md.digest());
}
// 바이트 배열을 16진수 문자열로 변환
public static String byteToHexString(byte[] data) {
StringBuilder sb = new StringBuilder();
for(byte b : data) {
sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
}
'Android' 카테고리의 다른 글
안드로이드 실행환경 (0) | 2018.10.19 |
---|---|
가로 막대 프로그레스바 (0) | 2018.10.15 |
BCrypt 암호화 (0) | 2018.10.03 |
암호화(AES) (0) | 2018.10.02 |
안드로이드 생명주기 (0) | 2018.08.17 |