KISA SEED 암호화 JAVA CBC모드 예제 입니다.
ECB 모드에 이어서 CBC모드 예제입니다. SEED 암호화는 6가지 운영모드가 있고, 공식 사이트에 언어별로 잘 정리가 되어 있습니다.
제가 작성한 것은 그 중 한가지 정도니 참고해주세요~
import java.util.Arrays;
import java.util.Base64;
import java.util.Base64.Encoder;
public class KISA_SEED_CBC_EXv1 {
private static byte pbUserKey[] = "bananastrawberry".getBytes(); // 16
private static byte bszIV[] = "0123456789abcdef".getBytes(); // 16
private static byte Cipher[] = null;
public static void main(String[] args) {
byte[] password = encrypt("강아지");
System.out.println("password : encrypt: " + new String(password));
System.out.println("password : decrypt: " + decrypt(Cipher));
}
private static byte[] encrypt(String str) {
byte[] userBytes = str.getBytes();
byte[] pbData = new byte[32];
for(int i=0; i<pbData.length; i++) {
if(i < userBytes.length)
pbData[i] = userBytes[i];
else
pbData[i] = 0x00;
}
//암호화 함수 호출
Cipher = KISA_SEED_CBC.SEED_CBC_Encrypt(pbUserKey, bszIV, pbData ,0, pbData.length);
Encoder encoder = Base64.getEncoder();
byte[] enArray = encoder.encode(Arrays.copyOf(Cipher, 16));
return enArray;
}
private static String decrypt(byte[] Cipher) {
String result = "";
//복호화 함수 호출
byte Plain1[] = KISA_SEED_CBC.SEED_CBC_Decrypt(pbUserKey, bszIV, Cipher, 0, Cipher.length);
result = new String(Plain1);
return result;
}
}
결과는 이렇게 나옵니다! 도움이 되셨기를!
KISA SEED ECB 모드 예제는 여기 :
728x90
300x250