
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.common.util;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Base64.Encoder;
import java.util.Base64.Decoder;
/**
* @author takensoft
* @since 2024.04.03
* 암복호화
*/
@Component
public class Secret {
private static final Charset UTF_8 = StandardCharsets.UTF_8;
private static String SECRET_KEY;
private static String VECTOR_KEY;
public Secret(@Value("${crypto.secret}")String secret, @Value("${crypto.vector}")String vector) {
this.SECRET_KEY = secret;
this.VECTOR_KEY = vector;
}
/**
* @author takensoft
* @since 2024.04.03
* 암호화
*/
public static String encrypt(String data) {
Encoder encoder = Base64.getEncoder();
byte[] message = data.getBytes(UTF_8);
byte[] encryptedData = KISA_SEED_CBC.SEED_CBC_Encrypt(SECRET_KEY.getBytes(), VECTOR_KEY.getBytes(), message, 0, message.length);
return new String(encoder.encode(encryptedData), UTF_8);
}
/**
* @author takensoft
* @since 2024.04.03
* 복호화
*/
public static String decrypt(String encryptedData) {
Decoder decoder = Base64.getDecoder();
byte[] message = decoder.decode(encryptedData);
byte[] decryptedData = KISA_SEED_CBC.SEED_CBC_Decrypt(SECRET_KEY.getBytes(), VECTOR_KEY.getBytes(), message, 0, message.length);
return new String(decryptedData, UTF_8);
}
}