
hash_hkdf 함수는 Key Derivation Function(KDF)로, 비밀키를 안전하게 생성하기 위해 사용됩니다.
- salt: salt는 고유의 값을 의미하며, 비밀키 생성을 위한 고유의 값을 제공합니다. salt의 길이는 32바이트 이상으로 설정해야 합니다.
- ikm: ikm은 입력 키 매트릭스(Input Key Material)의 약자로, 비밀키 생성에 사용되는 입력값을 의미합니다. ikm의 길이는 32바이트 이상으로 설정해야 합니다.
- info: info는 정보의 약자로, 비밀키 생성에 사용되는 추가 정보를 의미합니다. info의 길이는 16바이트 이상으로 설정해야 합니다.
hash_hkdf 함수를 사용하여 비밀키를 생성한 후, 그 비밀키를 암호화하는 방법은 다음과 같습니다.
1. 비밀키를 생성하는 함수인 hash_hkdf를 호출하여 비밀키를 생성합니다.
2. 생성된 비밀키를 암호화하는 함수인 openssl_encrypt를 호출하여 암호화합니다.
3. 암호화된 비밀키를 반환합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$salt = openssl_random_pseudo_bytes(32);
$ikm = openssl_random_pseudo_bytes(32);
$info = openssl_random_pseudo_bytes(16);
$secret = hash_hkdf('sha256', $ikm, $salt, $info, 32);
$cipher = 'aes-256-cbc';
$key = $secret;
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher));
$encrypted = openssl_encrypt($secret, $cipher, $key, OPENSSL_RAW_DATA, $iv);
echo $encrypted;
위 코드는 salt, ikm, info를 생성하고, hash_hkdf 함수를 호출하여 비밀키를 생성한 후, 생성된 비밀키를 암호화하는 예제입니다.
2025-03-17 10:15