JAVA SHA256 암호화(Encrypt)

Posted by Breeze24
2017. 2. 22. 08:42 Web

개발을 하다 보면, 암호를 종종 다루어야 하는데, 암호를 저장할 때는 일방향 암호화를 해야한다. 

보통 개인정보가 들어가는 곳에 대해서는 일방향 암호화가 필수이기 때문에 암호를 저장할 때 암호를 복호화가 불가능한 일방향 암호를 이용하곤 한다. 


이번 포스팅에서는 자바에서 SHA 256으로 일방향 암호화를 하는 방법에 대해 알아보자. 


JAVA SHA256 암호화



JAVA SHA256 Encrypt


별도의 플러그인이 필요하지는 않고 자바의 secutiry 패키지에 있는 MessageDigest를 이용한 방법이다. 

.

public class Sha256Util {
	
	private Logger logger = LogManager.getLogger();
	public String encoding(String param) throws Exception{
		String result = "";
		try {
            
           MessageDigest md = MessageDigest.getInstance("SHA-256"); // SHA-256 또는 MD5  
           md.update(param.getBytes());
           byte bs[] = md.digest();
           StringBuffer sb = new StringBuffer();
           for(int i=0; i<bs.length; i++) {
               sb.append(Integer.toString((bs[i]&0xff) + 0x100, 16).substring(1));
           }
           result = sb.toString();
           logger.debug(result); // 결과물이 출력됨. aed19017dbb4d25a580b7f9e012e29be089bd1f3  //65자
       } catch(NoSuchAlgorithmException e){
           logger.error(e.toString());
           throw e;
       } catch(Exception e){
    	   logger.error(e.toString());
    	   throw e;
       }
		return result;
	}
}


위와 같이 소스를 작성하고 아래와 같이 실행하면 된다. 


JAVA SHA256 Encrypt


그렇게 하면 아래와 같은 결과가 출력된다. 

자바 SHA256 암호화

.

이렇게 하면 암호를 SHA256으로 쉽게 암호화할 수 있다. 

자바로 암호화하는 방법은 위와 같고, JAVASCRIPT로도 SHA256으로 암호화할 수 있는데, 다음 포스팅에서는 자바스크립트로 SHA256 암호화하는 방법에 대해 알아보자. 

클라이언트단에서부터 암호화가 되어 이동되기 때문에 자바로 암호화하는 것보다 더 안전할 수 있다. 


JAVASCRIPT SHA256 Encrypt