Encryption 암호화


 

암호환된 데이터로 로그인 인증 진행

 

  • 단방향성 암호화 : 암호화는 되는데 복호화 불가 (원래 암호로 돌릴 순 없음)
  • 양방향성 암호화 : 암호화도 되고 복호화도 가능

단방향 암호화 -> MD5 -> SHA-256 -> SHA-512

MD5 : 암호를 알려줄수 없음 " 다른 암호로 재설정 하세요"

 

 


SHA-256

	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) {
		//단방향 암호화 -> MD5 -> SHA-256 -> SHA-512

		System.out.println(getSHA512("Hello"));
		System.out.println(getSHA512("Hello"));
		System.out.println(getSHA512("a"));
		System.out.println(getSHA512("b"));
		
	}

 

SHA-256

더보기
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;
	}

 

 


데이터 보관용 클래스

VO (Value Object)

 

DTO (Data Transfer Object)

단순 데이터 전송 목적의 클래스로 , 멤버필드 / getter / setter / constructor 로 구성되는 클래스

 

DAO (Data Access Object)

데이터를 입/출력/수정/삭제 하는 등의 데이터 관련 기능만을 모아두는 목적의 클래스

(데이터베이스에 관한 것들만 모아 둔 것은 아님)

 

+ Recent posts