
`sodium_crypto_box_keypair_from_secretkey_and_publickey` 함수의 첫 번째 매개 변수인 `secretkey`는 32바이트의 바이너리 데이터여야 합니다. 하지만 Buffer 객체를 받는 JavaScript 환경에서 이 함수를 사용할 때 오류가 발생할 수 있습니다.
Buffer 객체를 바이너리 데이터로 변환하는 방법은 다음과 같습니다.
#hostingforum.kr
javascript
const secretkey = Buffer.alloc(32);
// secretkey에 32바이트의 바이너리 데이터를 할당합니다.
또는
#hostingforum.kr
javascript
const secretkey = crypto.randomBytes(32);
// secretkey에 32바이트의 랜덤 바이너리 데이터를 할당합니다.
이 함수를 사용하여 KeyPair를 생성할 때 오류가 발생하는 이유는 Buffer 객체를 바이너리 데이터로 변환하지 않았기 때문입니다. 올바른 방법으로 KeyPair를 생성하는 방법은 다음과 같습니다.
#hostingforum.kr
javascript
const sodium = require('libsodium-wrappers');
const secretkey = crypto.randomBytes(32);
const publickey = Buffer.alloc(32);
sodium.crypto_box_keypair_from_secretkey_and_publickey(secretkey, publickey);
// secretkey와 publickey를 사용하여 KeyPair를 생성합니다.
또는
#hostingforum.kr
javascript
const sodium = require('libsodium-wrappers');
const secretkey = Buffer.alloc(32);
// secretkey에 32바이트의 바이너리 데이터를 할당합니다.
sodium.crypto_box_keypair_from_secretkey_and_publickey(secretkey, publickey);
// secretkey와 publickey를 사용하여 KeyPair를 생성합니다.
2025-07-12 05:54