반응형
MD5, SHA-256 대표적인 단방향 함호화 방식이다.
JAVA 에서 java.security 를 사용하여 MD5, SHA-256 암호화 하는 예제 이다.
//SHA-256
public static String getSHA256(String str) {
String rtnSHA = "";
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));
}
rtnSHA = sb.toString();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
rtnSHA = null;
}
return rtnSHA;
}
MD5 ( 보안상 이슈가 많다 - 사용 비추천 )
//MD5
public static String getMD5(String str){
String rtnMD5 = "";
try {
//MessageDigest 인스턴스 생성
MessageDigest md = MessageDigest.getInstance("MD5");
//해쉬값 업데이트
md.update(str.getBytes());
//해쉬값(다이제스트) 얻기
byte byteData[] = md.digest();
StringBuffer sb = new StringBuffer();
//출력
for(byte byteTmp : byteData) {
sb.append(Integer.toString((byteTmp&0xff) + 0x100, 16).substring(1));
}
rtnMD5 = sb.toString();
} catch (Exception e) {
e.printStackTrace();
rtnMD5 = null;
}
return rtnMD5;
}
반응형
댓글