거누의 개발노트
Java MD5, SHA256 암호화 - 단방향 암호화 [개발 노트] 본문
반응형
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
끝.
반응형
'Java' 카테고리의 다른 글
OOP(객체 지향 프로그래밍) 4대 원칙 (2) | 2022.03.09 |
---|---|
자바의 접근 제어자의 종류와 특징 (0) | 2022.03.08 |
Java - String, StringBuilder, StringBuffer의 차이 (0) | 2022.03.03 |
Java - 프로그램 실행 과정(JVM 구조) (0) | 2022.03.01 |
Java AES128 양방향 암호화 (MySQL/JAVA) [개발노트] (2) | 2020.12.30 |
Comments