
sodium_memcmp 함수는 두 개의 메모리 블록을 비교할 때, 메모리 블록의 크기가 동일해야 합니다. 만약 메모리 블록의 크기가 다르다면, 함수는 메모리 블록의 크기 차이만큼의 바이트를 비교합니다.
만약 메모리 블록의 크기가 동일하지만, 내용이 다르다면, sodium_memcmp 함수는 0을 반환하는 것은 아닙니다. 그러나, 메모리 블록의 내용이 다르면, 함수는 0이 아닌 값을 반환합니다.
이러한 문제가 발생하는 이유는 sodium_memcmp 함수가 메모리 블록의 크기가 동일하더라도, 내용이 다르다면, 0이 아닌 값을 반환하기 때문입니다.
이를 해결하는 방법은 메모리 블록의 크기를 확인하고, 크기가 동일한 경우에만 sodium_memcmp 함수를 사용하는 것입니다.
다음은 예제입니다.
이 예제에서, sodium_memcmp 함수는 메모리 블록의 크기가 동일한 경우에만 0을 반환합니다. 만약 메모리 블록의 크기가 다르다면, 함수는 메모리 블록의 크기 차이만큼의 바이트를 비교합니다.
2025-03-07 16:33