SHA-256 암호화
예를들어 회원가입시 입력한 암호는 기본적으로 암호화 하여 저장을 하는것이 좋은데 일반적으로는 수많은 암호화 방식중에 가장 대중적인 SHA(Secure Hash Algorithm)를 많이 사용합니다. SHA는 현재 SHA-1, SHA-2계열이 주로 사용되며 SHA-2계열은 다시 세부적으로 SHA-224, SHA-256, SHA-384, SHA-512로 구분되어 지는데 그중에서 SHA-256이 가장 보편화 되어 사용되고 있습니다.
이 포스팅에서는 JAVA에서 SHA-256으로 암호화하는 코드에 대하여 알아볼 예정이며 당연한 이야기이지만 해시로 한번 암호화한 문자는 복호화가 불가능합니다.
1. 암호화 코드
public static String EncBySha256(String data) throws Exception {
String retVal = "";
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(data.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));
}
StringBuffer hexString = new StringBuffer();
for(int i=0; i<byteData.length;i++) {
String hex = Integer.toHexString(0xff & byteData[i]);
if(hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
retVal = hexString.toString();
} catch(NoSuchAlgorithmException e){
System.out.println("EncBySHA256 Error:" + e.toString());
}
return retVal;
}
별다른 설명없이 코드로 대체합니다.
'JAVA > Java' 카테고리의 다른 글
[Java] 자바 Random함수 사용방법, 무작위 숫자 생성 (0) | 2019.07.28 |
---|---|
[Java] 자바 HashMap 사용방법 (0) | 2019.07.28 |
[Java] 자바 배열의 선언 및 초기화 방법 (0) | 2019.07.28 |
[Java] 자바 접근제어자 (Access Modifier) Public, private, default, protected 사용법 (0) | 2019.07.27 |
[Java] 자바 메소드(method) 함수의 생성과 선언 후 사용법 (0) | 2019.07.27 |
댓글