투케이2K

118. (java/자바) SHA256 사용해서 데이터 인코딩(암호화)실시 본문

Java

118. (java/자바) SHA256 사용해서 데이터 인코딩(암호화)실시

투케이2K 2021. 1. 13. 15:53

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package AI3;

import java.security.MessageDigest;
import java.util.Arrays;

public class MainActivity22 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[SHA256 사용해서 데이터 인코딩(암호화)실시]");
		
		/*[설 명]
		 * 1. SHA-256 - 단방향 암호화 기법으로 디코딩(복호화)를 할 수 없는 방법입니다
		 * 2. SHA-256은 SHA 시리즈 중에서 가장 보편적으로 사용되고 있습니다		 
		 */
		String data = "hello"; //초기 문자열 변수 선언 실시
		
		System.out.println("원본 : "+data);
		
		System.out.println("sha256 인코딩(문자열) : "+getSHA256(data));
		
		byte encode[] = getSHA256_ByteArray(data);
		System.out.println("sha256 인코딩(바이트) : "+Arrays.toString(encode));

	}//메인 종료
	
	// ==== [SHA256 인코딩 - 문자열] ====
	public static String getSHA256(String data) {
		String SHA = "";
		try {
			MessageDigest sh = MessageDigest.getInstance("SHA-256");
			sh.update(data.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));
			}
			SHA = sb.toString();

		} catch (Exception e) {
			e.printStackTrace();
			SHA = null;
		}
		return SHA;
	}
	
	// ==== [SHA256 인코딩 - 바이트] ====
	public static byte[] getSHA256_ByteArray (String data) {
		byte byteData[] = null;
		try {
			MessageDigest sh = MessageDigest.getInstance("SHA-256");
			sh.update(data.getBytes());
			byteData = sh.digest();

		} catch (Exception e) {
			e.printStackTrace();
		}
		return byteData;
	}
	
}//클래스 종료

/* =========================== */

[결과 출력]

[SHA256 사용해서 데이터 인코딩(암호화)실시]

원본 : hello

sha256 인코딩(문자열) : 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

sha256 인코딩(바이트) : [44, -14, 77, -70, 95, -80, -93, 14, 38, -24, 59, 42, -59, -71, -30, -98, 27, 22, 30, 92, 31, -89, 66, 94, 115, 4, 51, 98, -109, -117, -104, 36]

/* =========================== */

/* =========================== */

[요약 설명]

* 1. SHA-256 - 단방향 암호화 기법으로 디코딩(복호화)를 할 수 없는 방법입니다

* 2. SHA-256은 SHA 시리즈 중에서 가장 보편적으로 사용되고 있습니다

/* =========================== */

반응형
Comments