SpringFramework/BASIC

[ SHA-256 해시코드 ] 비밀번호 암호화 로직

유혁스쿨 2020. 9. 9. 19:45
728x90
반응형

SHA-256의 로직이며 객체화 한 뒤,

복호화 하여 사용할때에는 MD5와 똑같이 암호화 과정을 한번 더 거친 뒤 비교하여 유효성 과정을 거쳐 사용하시면 되겠습니다. 

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;
}

 

728x90
반응형