
sodium_crypto_secretstream_xchacha20poly1305_pull 함수는 이전에 생성한 secret stream을 추출하는 함수입니다. 이 함수의 인자 중 nonce 값을 설정하는 방법은 다음과 같습니다.
- nonce 값을 설정하는 방법은 sodium_crypto_secretstream_xchacha20poly1305_init 함수를 사용하여 secret stream을 초기화하는 시점에 nonce 값을 설정하는 것입니다.
- nonce 값을 설정하지 않으면, 이전에 생성한 secret stream의 nonce 값이 사용됩니다.
이 함수의 반환 값은 추출한 secret stream의 내용과 secret stream의 상태를 나타내는 두 개의 값으로 구성됩니다.
- 첫 번째 반환 값은 추출한 secret stream의 내용입니다.
- 두 번째 반환 값은 secret stream의 상태를 나타내는 32바이트의 값입니다. 이 값은 secret stream의 현재 상태를 나타내며, secret stream을 다시 사용하기 전에 이 값을 저장하고, secret stream을 다시 초기화하기 전에 이 값을 사용하여 secret stream을 초기화해야 합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
char* stream;
unsigned char* state;
size_t state_len;
// secret stream 초기화
stream = sodium_crypto_secretstream_xchacha20poly1305_init(&state, &state_len);
// secret stream에 데이터 추가
size_t len = ...;
char* data = ...;
sodium_crypto_secretstream_xchacha20poly1305_push(stream, data, len);
// secret stream 추출
char* extracted_data = sodium_crypto_secretstream_xchacha20poly1305_pull(stream, &state, &state_len);
이 예제에서는 secret stream을 초기화하고, 데이터를 추가한 후, secret stream을 추출하는 과정을 보여줍니다.
2025-03-06 16:44