거누의 개발노트

Java MD5, SHA256 암호화 - 단방향 암호화 [개발 노트] 본문

Java

Java MD5, SHA256 암호화 - 단방향 암호화 [개발 노트]

Gogozzi 2020. 12. 29. 16:24
반응형

MD5와 SHA256 암호화 방식은 단방향 암호화 방식이다.

따라서 암호화한 값을 복호화하는 것은 일반적으로는 불가능 하다.

 

오늘은 JAVA에서 MD5와 SHA256을 암호화하는 방법!

 

👉 JAVA - MD5 암호화

package com.common;

import java.security.MessageDigest;

public class Encryption {
    
	public static void main(String[] args) throws Exception{
        
		String txt = "Hello World";
		System.out.println("txt : " + txt);
    	System.out.println("MD5 : " + testMD5(txt));
    	
    }
    
	public static String testMD5(String str) {
	    String MD5 = "";
	    try {
	        MessageDigest md = MessageDigest.getInstance("MD5");
	        md.update(str.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 (Exception e) {
	        e.printStackTrace();
	        MD5 = null;
	    }
	    return MD5;
	}
    
}

 

👉 결과

txt : Hello World 
MD5 : b10a8db164e0754105b7a99be72e3fe5

 

 

👉 JAVA - SHA256 암호화

package com.common;

import java.security.MessageDigest;

public class Encryption {
    
	public static void main(String[] args) throws Exception{
        
		String txt = "Hello World";
		System.out.println("txt : " + txt);
    	System.out.println("SHA256 : " + testSHA256(txt));
    	
    }
    
	public static String testSHA256(String txt) throws Exception{
	    StringBuffer sbuf = new StringBuffer();
	     
	    MessageDigest mDigest = MessageDigest.getInstance("SHA-256");
	    mDigest.update(txt.getBytes());
	     
	    byte[] msgStr = mDigest.digest() ;
	     
	    for(int i=0; i < msgStr.length; i++){
	        byte tmpStrByte = msgStr[i];
	        String tmpEncTxt = Integer.toString((tmpStrByte & 0xff) + 0x100, 16).substring(1);
	         
	        sbuf.append(tmpEncTxt) ;
	    }
	     
	    return sbuf.toString();
	}

    
}

 

👉 결과

txt : Hello World
SHA256 : a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

 

끝.

썸네일

반응형
Comments