java security MessageDigest를 이용하여 md5, sha256암호화를 실행한다.
package com.common.security;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
public static String encMD5(String pwd) {
String MD5 = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(pwd.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;
}
}
package com.common.security;
import java.security.MessageDigest;
public class SHA256 {
public static String encSHA256(String pwd) {
try{
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(pwd.getBytes("UTF-8"));
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < hash.length; i++) {
String hex = Integer.toHexString(0xff & hash[i]);
if(hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch(Exception ex){
throw new RuntimeException(ex);
}
}
}
String pwd = "1111";
// MD5 암호화
String encMd5 = MD5.encMD5(pwd);
// MD5 암호화 결과
System.out.println("MD5 REQUEST : " + pwd);
System.out.println("MD5 : " + encMd5);
// SHA256 암호화
String encSHA256 = SHA256.encSHA256(encMd5);
// SHA256 암호화 결과
System.out.println("SHA256 REQUEST: " + pwd);
System.out.println("SHA256 : " + encSHA256);
사용자가 패스워드를 입력하면 입력한 값을 위의 로직을 거쳐서 암호화를 한 후
암호화 되어 값이 저장되어 있는 필드값과 비교한 후 로그인 처리를 한다.
'BackEND > Java' 카테고리의 다른 글
git ignore 적용하는 방법 (0) | 2021.01.20 |
---|---|
war 배포시 윈도우 서버 서비스 등록하는 방법 (0) | 2021.01.20 |
spring boot controller request multiple (0) | 2020.12.10 |
spring boot gradle mybatis 연동 (0) | 2020.12.09 |
spring boot gradle 셋팅 (0) | 2020.12.04 |