암호화

  • 데이터베이스 관리자가 DB에 저장된 사용자의 개인 정보를 볼 수 있는 위험성이 있음
  • 암호화해서 저장해야 함

 

단방향성 암호화

  • 암호화 후, 복호화 못 함
  • MD5
    1. 글자를 64 크기나 128 크기 글자로 암호화함
    2. 크기가 제한되어 있기 때문에 다른 글자가 같은 글자로 암호화되어 중복될 가능성 있음
  • SHA-256, SHA-512 등

 

 

▽ 예제 코드 1 ▽

import java.math.BigInteger;
import java.security.MessageDigest;

public class EncryptionExam {

	// 64 크기
	public static String getSHA256(String input){

		String toReturn = null;

		try {
			MessageDigest digest = MessageDigest.getInstance("SHA-256");
			digest.reset();
			digest.update(input.getBytes("utf8"));
			// 숫자 부분이 글자 크기 설정임
			toReturn = String.format("%064x", new BigInteger(1, digest.digest()));
		} catch (Exception e) {
			e.printStackTrace();
		}

		return toReturn;
		
	}
	
	// 128 크기
	public static String getSHA512(String input){

		String toReturn = null;

		try {
			MessageDigest digest = MessageDigest.getInstance("SHA-512");
			digest.reset();
			digest.update(input.getBytes("utf8"));
			toReturn = String.format("%0128x", new BigInteger(1, digest.digest()));
		} catch (Exception e) {
			e.printStackTrace();
		}

		return toReturn;
		
	}

	public static void main(String[] args) {

		System.out.println(getSHA512("Hello"));
		System.out.println(getSHA512("Hello"));
		System.out.println(getSHA512("A"));
		System.out.println(getSHA512("B"));
		System.out.println(getSHA512("C"));

		
	}

}

 

 

▽ 출력 결과 ▽

3615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf777d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315
3615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf777d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315
21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5
848b0779ff415f0af4ea14df9dd1d3c29ac41d836c7808896c4eba19c51ac40a439caf5e61ec88c307c7d619195229412eaa73fb2a5ea20d23cc86a9d8f86a0f
3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb

 

 

 

 

+ Recent posts