
sodium_crypto_box_keypair_from_secretkey_and_publickey 함수는 두 개의 키를 입력받아 키 페어를 생성하는 함수입니다.
이 함수의 입력 파라미터인 secretkey와 publickey의 길이는 32바이트로 설정해야 합니다.
secretkey는 32바이트의 난수값으로 생성해야 하며, publickey는 secretkey를 통해 계산된 공개 키입니다.
이 함수가 반환하는 키 페어는 두 개의 키를 포함합니다. 첫 번째 키는 공개 키이고, 두 번째 키는 비밀 키입니다.
이 두 개의 키는 모두 32바이트의 바이너리 데이터로 반환됩니다.
예를 들어, 다음과 같이 secretkey와 publickey를 생성하고, sodium_crypto_box_keypair_from_secretkey_and_publickey 함수를 사용하여 키 페어를 생성할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
unsigned char secretkey[32];
unsigned char publickey[32];
unsigned char keypair[64];
// secretkey와 publickey를 생성합니다.
randombytes_secretkey(secretkey, 32);
publickey[0] = 0; // publickey는 secretkey를 통해 계산된 공개 키입니다.
crypto_box_publickey_from_secretkey(publickey, secretkey);
// sodium_crypto_box_keypair_from_secretkey_and_publickey 함수를 사용하여 키 페어를 생성합니다.
if (sodium_crypto_box_keypair_from_secretkey_and_publickey(keypair, secretkey, publickey) != 0) {
printf("Error: %sn", sodium_strerror(errno));
return 1;
}
// 키 페어를 출력합니다.
printf("공개 키: ");
for (int i = 0; i < 32; i++) {
printf("%02x", keypair[i]);
}
printf("n");
printf("비밀 키: ");
for (int i = 32; i < 64; i++) {
printf("%02x", keypair[i]);
}
printf("n");
return 0;
}
이 예제에서는 secretkey와 publickey를 생성하고, sodium_crypto_box_keypair_from_secretkey_and_publickey 함수를 사용하여 키 페어를 생성합니다. 키 페어는 두 개의 키를 포함하며, 첫 번째 키는 공개 키이고, 두 번째 키는 비밀 키입니다.
2025-06-07 20:36