
`sodium_crypto_box_secretkey` 함수는 비밀키를 생성하기 위해 사용됩니다. 오류 메시지인 "Invalid argument"는 함수에 전달된 인자가 올바르지 않다는 것을 의미합니다.
해당 함수는 두 개의 인자를 받습니다: 비밀키를 저장할 메모리 주소와 비밀키의 크기입니다.
오류가 발생하는 이유는 `NULL`을 첫 번째 인자로 전달하고, 0을 두 번째 인자로 전달한 때문입니다. 첫 번째 인자는 비밀키를 저장할 메모리 주소가 필요합니다.
해결 방법은 첫 번째 인자에 비밀키를 저장할 메모리 주소를 전달하는 것입니다. 예를 들어, 다음과 같이 수정할 수 있습니다:
#hostingforum.kr
c
unsigned char secret_key[32];
if (sodium_crypto_box_secretkey(secret_key, NULL, 0) != 0) {
printf("Error: %sn", sodium_strerror(errno));
return 1;
}
또는, 비밀키의 크기를 32로 지정할 수 있습니다:
#hostingforum.kr
c
unsigned char secret_key[32];
if (sodium_crypto_box_secretkey(secret_key, NULL, 32) != 0) {
printf("Error: %sn", sodium_strerror(errno));
return 1;
}
이러한 수정을 통해 오류가 해결될 것입니다.
2025-07-04 21:50