
sodium_crypto_pwhash_str_needs_rehash 함수는 이전에 사용된 salt 값과 다르면 true를 반환합니다.
이때 salt 값을 이전에 사용한 salt 값과 다르게 하기 위한 방법은 다음과 같습니다.
1. 랜덤한 salt 값 생성: 이전에 사용된 salt 값과 다르게 하기 위해 랜덤한 salt 값을 생성할 수 있습니다.
- 예를 들어, `sodium_randombytes_buf` 함수를 사용하여 16바이트의 랜덤한 salt 값을 생성할 수 있습니다.
2. salt 값의 변형: 이전에 사용된 salt 값과 다르게 하기 위해 salt 값을 변형할 수 있습니다.
- 예를 들어, salt 값을 암호화하여 변형할 수 있습니다.
salt 값을 이전에 사용한 salt 값과 다르게 하기 위해서는 salt 값이 다음과 같은 형식으로 저장되어야 합니다.
- 16바이트의 랜덤한 값: salt 값은 16바이트의 랜덤한 값을 포함해야 합니다.
- URL-safe base64 인코딩: salt 값은 URL-safe base64 인코딩되어야 합니다.
- UTF-8 인코딩: salt 값은 UTF-8 인코딩되어야 합니다.
예를 들어, 다음과 같이 salt 값을 생성하고 저장할 수 있습니다.
#hostingforum.kr
c
#include
// 랜덤한 salt 값을 생성합니다.
unsigned char salt[16];
sodium_randombytes_buf(salt, 16);
// salt 값을 URL-safe base64 인코딩합니다.
char encoded_salt[32];
sodium_base642bin(encoded_salt, salt, 16, 0);
// salt 값을 UTF-8 인코딩합니다.
char encoded_salt_utf8[33];
sodium_base642bin(encoded_salt_utf8, encoded_salt, 32, 0);
이러한 방법으로 salt 값을 이전에 사용한 salt 값과 다르게 하여 sodium_crypto_pwhash_str_needs_rehash 함수의 반환 값을 true로 만들 수 있습니다.
2025-05-02 06:25