Better Comments 적용 테스트

This commit is contained in:
2025-10-15 11:52:43 +09:00
parent 057c4bb829
commit 23d970d2f7
2 changed files with 25 additions and 19 deletions

BIN
java/src/Encryypt.class Normal file

Binary file not shown.

View File

@@ -9,10 +9,10 @@ import javax.crypto.spec.SecretKeySpec;
public class Encryypt { public class Encryypt {
/* /**
* Getnerate key * * Getnerate key
* ASE128 방식으로 secret key 발급 * * ASE128 방식으로 secret key 발급
* - generateKey 메서드에 algorithm에는 암호화의 방식, keySize는 키의 크기가 들어간다. * generateKey 메서드에 algorithm에는 암호화의 방식, keySize는 키의 크기가 들어간다.
* - algorithm은 AES, keySize는 128로 한다. * - algorithm은 AES, keySize는 128로 한다.
* - javax.crypto의 KeyGenerator를 사용해 알고리즘 종류와 키의 크기로 초기화 해준다. * - javax.crypto의 KeyGenerator를 사용해 알고리즘 종류와 키의 크기로 초기화 해준다.
* - KeyGenerator의 generateKey()를 이용해 키를 생성한 후 getEncoded()로 키를 반환한다. * - KeyGenerator의 generateKey()를 이용해 키를 생성한 후 getEncoded()로 키를 반환한다.
@@ -25,7 +25,7 @@ public class Encryypt {
} }
/**      /**     
* hex to byte[] : 16진수 문자열을 바이트 배열로 변환한다.      * * hex to byte[] : 16진수 문자열을 바이트 배열로 변환한다.     
* *
*/ */
public static byte[] hexToByteArray(String hex) { public static byte[] hexToByteArray(String hex) {
@@ -39,7 +39,7 @@ public class Encryypt {
} }
return ba; return ba;
} }
/* /**
* generateKey()메서드에서 얻어진 byte 배열을 16진수의 문자열로 변환 * generateKey()메서드에서 얻어진 byte 배열을 16진수의 문자열로 변환
*/ */
public static String byteArrayToHex(byte[] ba) { public static String byteArrayToHex(byte[] ba) {
@@ -56,7 +56,8 @@ public class Encryypt {
} }
/* /*
* 사용자 이름 암호화 **
* * 사용자 이름 암호화
* - 평문: lee * - 평문: lee
* - encrypt: 91f0742622d1defa32ca78f399cd62e7 * - encrypt: 91f0742622d1defa32ca78f399cd62e7
* *
@@ -75,8 +76,8 @@ public class Encryypt {
return byteArrayToHex(encrypted); return byteArrayToHex(encrypted);
} }
/* /**
* 사용자 정보 복호화 하기 (마스킹되어 저장된 사용자 이름을 복호화) * * 사용자 정보 복호화 하기 (마스킹되어 저장된 사용자 이름을 복호화)
* *
* 데이터베이스에 있는 사용자 정보를 복호화 하기 위해서 암호화에 사용된 * 데이터베이스에 있는 사용자 정보를 복호화 하기 위해서 암호화에 사용된
* secret key와 ivParameter가 필요하다. * secret key와 ivParameter가 필요하다.
@@ -94,11 +95,11 @@ public class Encryypt {
return new String(original); return new String(original);
} }
/* /**
* 사용자 비밀번호 암호화 * * 사용자 비밀번호 암호화
* - 원문: 1234 * * - 원문: 1234
* - SHA-256: 4b3bed8af7b7612e8c1e25f63ba24496f5b16b2df44efb2db7ce3cb24b7e96f7 * * - SHA-256: 4b3bed8af7b7612e8c1e25f63ba24496f5b16b2df44efb2db7ce3cb24b7e96f7
* - pw encrypt: K;<3B><><EFBFBD>a.<2E>%<25>;<3B>D<EFBFBD><44><EFBFBD>k-<2D>N<EFBFBD>-<2D><><<3C>K~<7E><> * * - pw encrypt: K;<3B><><EFBFBD>a.<2E>%<25>;<3B>D<EFBFBD><44><EFBFBD>k-<2D>N<EFBFBD>-<2D><><<3C>K~<7E><>
* *
* 비밀번호는 단방향 암호화 알고리즘인 SHA256 방식으로 암호화 되어 저장된다. * 비밀번호는 단방향 암호화 알고리즘인 SHA256 방식으로 암호화 되어 저장된다.
* 복호화 가능한 키가 없는 해시 알고리즘이다. * 복호화 가능한 키가 없는 해시 알고리즘이다.
@@ -108,10 +109,15 @@ public class Encryypt {
* 평문과 salt를 byte로 변환해 추가한다. * 평문과 salt를 byte로 변환해 추가한다.
* 데이터베이스에 암호화된 byte 데이터가 저장된다. * 데이터베이스에 암호화된 byte 데이터가 저장된다.
* *
* 암호화된 비밀번호는 어떻게 사용할까? * ? 암호화된 비밀번호는 어떻게 사용할까?
* - 데이터베이스에 사용자 비밀번호는 해시 함수를 사용하여 암호화 되어 있다. * ! - 데이터베이스에 사용자 비밀번호는 해시 함수를 사용하여 암호화 되어 있다.
* - 사용자가 정보를 변경하거나 어떤 동작에서 비밀번호를 입력하는 행위가 필요한 경우 * ! 사용자가 정보를 변경하거나 어떤 동작에서 비밀번호를 입력하는 행위가 필요한 경우
* 사용자가 입력한 비밀번호를 동일한 방식으로 해시화 해서 데이터베이스에 저장된 값과 비교한다. * ! 사용자가 입력한 비밀번호를 동일한 방식으로 해시화 해서 데이터베이스에 저장된 값과 비교한다.
* TODO: 해야할 정보
*
* @param source 원문 문자열
* @param slat security VO 모델에 저장한 문자열
*
*/ */
public static byte[] getSHA256(String source, String salt) { public static byte[] getSHA256(String source, String salt) {
byte byteData[] = null; byte byteData[] = null;
@@ -129,7 +135,7 @@ public class Encryypt {
/** /**
* *
* 개인정보 암호화 메인함수 * * 개인정보 암호화 메인함수
* @param args * @param args
* @throws Exception * @throws Exception
* *