
sodium_crypto_box_seal_open 함수는 암호화된 데이터를 복호화하는 함수입니다. 이 함수는 4개의 매개 변수를 받습니다.
1. 암호화된 데이터
2. 공개 키
3. 비공개 키
4. nonce (난수 값)
이 함수는 암호화된 데이터를 복호화하고, 원본 데이터를 반환합니다. 반환값은 복호화된 데이터의 크기만큼의 메모리 블록을 반환합니다.
복호화 과정에서 발생할 수 있는 오류는 다음과 같습니다.
- 암호화된 데이터가 유효하지 않은 경우
- 공개 키나 비공개 키가 유효하지 않은 경우
- nonce 값이 유효하지 않은 경우
해당 함수를 사용하여 데이터를 복호화할 때, 공개 키와 비공개 키를 사용해야 합니다. 공개 키는 암호화에 사용되고, 비공개 키는 복호화에 사용됩니다.
해당 함수의 사용 예제는 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
// 비공개 키와 공개 키를 생성합니다.
unsigned char private_key[32];
unsigned char public_key[32];
sodium_init();
sodium_crypto_box_keypair(public_key, private_key);
// 암호화된 데이터를 생성합니다.
unsigned char encrypted_data[32];
unsigned char nonce[24];
sodium_randombytes_buf(nonce, 24);
sodium_crypto_box_seal(encrypted_data, "Hello, World!", 13, nonce, public_key);
// 암호화된 데이터를 복호화합니다.
unsigned char decrypted_data[32];
if (sodium_crypto_box_seal_open(decrypted_data, encrypted_data, nonce, private_key) != 0) {
printf("복호화 실패n");
return 1;
}
printf("복호화 성공: %sn", decrypted_data);
return 0;
}
이 예제에서는 비공개 키와 공개 키를 생성하고, 암호화된 데이터를 생성합니다. 그런 다음, 암호화된 데이터를 복호화하고, 원본 데이터를 출력합니다.
2025-07-02 16:04