본문 바로가기
프로그래밍/JAVA

SHA-256, MD5 암호화 example 소스

by 원피스랜드 2020. 12. 30.
반응형

MD5, SHA-256 대표적인 단방향 함호화 방식이다.

 

JAVA ​에서 java.security 를 사용하여 MD5, SHA-256 암호화 하는 예제 이다.

 

   //SHA-256    

    public static String getSHA256(String str) {

        String rtnSHA = "";
        try{

            MessageDigest sh = MessageDigest.getInstance("SHA-256"); 
            sh.update(str.getBytes()); 
            byte byteData[] = sh.digest();
            StringBuffer sb = new StringBuffer(); 


            for(int i = 0 ; i < byteData.length ; i++){

                sb.append(Integer.toString((byteData[i]&0xff) + 0x100, 16).substring(1));
            }
            rtnSHA = sb.toString();

        }catch(NoSuchAlgorithmException e){
            e.printStackTrace(); 
            rtnSHA = null; 
        }
        return rtnSHA;
    } 

 

 

MD5 ( 보안상 이슈가 많다 - 사용 비추천 )

 

//MD5

    public static String getMD5(String str){
        String rtnMD5 = "";
        try {
            //MessageDigest 인스턴스 생성
            MessageDigest md = MessageDigest.getInstance("MD5");
            //해쉬값 업데이트
            md.update(str.getBytes());
            //해쉬값(다이제스트) 얻기
            byte byteData[] = md.digest();
            StringBuffer sb = new StringBuffer();
            //출력
            for(byte byteTmp : byteData) {

                sb.append(Integer.toString((byteTmp&0xff) + 0x100, 16).substring(1));
            }
            rtnMD5 = sb.toString();
        } catch (Exception e) {
            e.printStackTrace(); 
            rtnMD5 = null; 
        }

        return rtnMD5;

    } 

 

 

 

반응형

댓글