[java] 키 파생 함수의 사용법
이 글에서는 자바에서 키 파생 함수를 사용하는 방법에 대해 알아보겠습니다.
1. 키 파생 함수란?
키 파생 함수는 기존 키를 바탕으로 새로운 키를 생성하는 함수입니다. 이는 대부분의 보안 시나리오나 데이터 암호화에서 사용됩니다.
2. 자바에서 키 파생 함수 사용하기
자바에서 키 파생 함수를 사용하려면 javax.crypto.SecretKeyFactory
클래스를 사용합니다. 이 클래스는 키 파생 알고리즘에 따라 시크릿키를 생성할 수 있습니다.
아래는 키 파생 함수를 사용하여 시크릿키를 생성하는 간단한 예제입니다.
3. 예제 코드
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.spec.KeySpec;
public class KeyDerivationExample {
public static void main(String[] args) throws Exception {
String password = "secret";
byte[] salt = "1234abcd".getBytes();
int iterations = 10000;
int keyLength = 256;
KeySpec spec = new PBEKeySpec(password.toCharArray(), salt, iterations, keyLength);
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
byte[] derivedKey = factory.generateSecret(spec).getEncoded();
SecretKeySpec secretKey = new SecretKeySpec(derivedKey, "AES");
// 사용할 시크릿키: secretKey
}
}
위 코드에서는 PBEKeySpec
와 SecretKeyFactory
를 사용하여 키 파생을 수행하고, SecretKeySpec
를 생성하여 최종적으로 사용할 시크릿키를 얻습니다.