
crypto_generichash_update 함수는 crypto_generichash_start 함수에 의해 초기화된 메모리 블록에 데이터를 추가하여 해시 값을 업데이트하는 역할을 합니다.
해시 값을 업데이트하는 순서는 다음과 같습니다.
1. crypto_generichash_start 함수를 사용하여 메모리 블록을 초기화합니다.
2. 메모리 블록에 데이터를 추가합니다.
3. crypto_generichash_update 함수를 사용하여 메모리 블록에 데이터를 추가합니다.
4. crypto_generichash_finalize 함수를 사용하여 메모리 블록에 저장된 해시 값을 얻습니다.
crypto_generichash_update 함수의 출력은 메모리 블록에 저장된 해시 값이 아닌, 메모리 블록에 저장된 해시 값을 업데이트한 메모리 블록 자체입니다.
해시 값을 업데이트한 후, 메모리 블록을 초기화해야 합니다. 메모리 블록을 초기화하는 방법은 다음과 같습니다.
1. 메모리 블록의 내용을 모두 0으로 초기화합니다.
2. crypto_generichash_start 함수를 사용하여 메모리 블록을 초기화합니다.
메모리 블록의 크기는 64바이트 이상이어야 합니다. 메모리 블록의 크기가 너무 작다면, 메모리 블록의 크기를 64바이트 이상으로 설정해야 합니다. 메모리 블록의 크기가 너무 크다면, 메모리 블록의 크기를 64바이트 이상으로 설정해야 합니다.
예를 들어, 메모리 블록의 크기를 128바이트로 설정한 경우, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
unsigned char hash[128];
crypto_generichash_start(hash, 128);
crypto_generichash_update(hash, "Hello, World!", 13);
crypto_generichash_finalize(hash);
메모리 블록의 크기를 64바이트로 설정한 경우, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
unsigned char hash[64];
crypto_generichash_start(hash, 64);
crypto_generichash_update(hash, "Hello, World!", 13);
crypto_generichash_finalize(hash);
메모리 블록의 크기를 256바이트로 설정한 경우, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
unsigned char hash[256];
crypto_generichash_start(hash, 256);
crypto_generichash_update(hash, "Hello, World!", 13);
crypto_generichash_finalize(hash);
2025-06-17 22:15