본문 바로가기

프로그래밍/JAVA

sha256암호화 하기

Java에서 기본적으로 SHA나 기타 다른 해시 알고리즘을 사용할 수 있는 라이브러리("java.security.MessageDigest")를 제공하고 있다.

 

MD5, SHA-1도있지만 SHA-256 사용을 권장한다.

 

public class main {
    public static void main(String[] args) throws Exception {
        System.out.println(sha256("abc123!@#$"));
    }
 
 
    /**
     * SHA-256으로 해싱하는 메소드
     * 
     * @param bytes
     * @return
     * @throws NoSuchAlgorithmException 
     */
    public static String sha256(String msg) throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance("SHA-256");
        md.update(msg.getBytes());
        
        return bytesToHex1(md.digest());
    }
 
 
    /**
     * 바이트를 헥스값으로 변환한다
     * 
     * @param bytes
     * @return
     */
    public static String bytesToHex(byte[] bytes) {
        StringBuilder builder = new StringBuilder();
        for (byte b: bytes) {
          builder.append(String.format("%02x", b));
        }
        return builder.toString();
    }
}

 

실행결과

cb29b617e1fd57f8b78941777e67c798c1f4c57010cfc93f09ce9140c5bb3bdd