
	                	                 
Sodium_crypto_box_seal 함수를 사용하기 전에, 먼저 keypair를 생성해야 합니다. keypair를 생성하는 방법은 다음과 같습니다.
1. Sodium_init 함수를 호출하여 Sodium 라이브러리를 초기화합니다.
2. sodium_crypto_box_keypair 함수를 호출하여 keypair를 생성합니다. 이 함수는 두 개의 32바이트의 암호화 키를 반환합니다.
keypair를 생성한 후, 이를 사용하여 데이터를 암호화하는 과정을 설명해 드리겠습니다.
1. 암호화할 데이터를 준비합니다.
2. sodium_crypto_box_seal 함수를 호출하여 데이터를 암호화합니다. 이 함수는 암호화된 데이터와 nonce를 반환합니다.
3. nonce를 제거한 암호화된 데이터를 반환합니다.
다음은 예제 코드입니다.
#hostingforum.kr
c
#include 
int main() {
    // keypair를 생성합니다.
    unsigned char pk[crypto_box_PUBLICKEYBYTES];
    unsigned char sk[crypto_box_SECRETKEYBYTES];
    if (sodium_init() != 0) {
        return 1;
    }
    if (crypto_box_keypair(pk, sk) != 0) {
        return 1;
    }
    // 암호화할 데이터를 준비합니다.
    unsigned char data[] = "Hello, World!";
    size_t data_len = strlen((char*)data);
    // nonce를 생성합니다.
    unsigned char nonce[crypto_box_NONCEBYTES];
    if (randombytes_n(nonce, crypto_box_NONCEBYTES) != 0) {
        return 1;
    }
    // 데이터를 암호화합니다.
    unsigned char sealed[crypto_box_SEALBYTES + data_len];
    if (sodium_crypto_box_seal(&sealed[crypto_box_SEALBYTES], data, data_len, nonce, pk) != 0) {
        return 1;
    }
    // nonce를 제거한 암호화된 데이터를 반환합니다.
    unsigned char sealed_data[crypto_box_SEALBYTES + data_len];
    memcpy(sealed_data, sealed, crypto_box_SEALBYTES + data_len);
    return 0;
}
이 예제 코드는 keypair를 생성하고 이를 사용하여 데이터를 암호화하는 과정을 설명합니다. 암호화된 데이터는 nonce를 제거한 상태로 반환됩니다.
2025-05-12 22:20