개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.06 06:48

Sodium 라이브러리에서 PWHASH 함수의 재해시 필요 여부

목록
  • 마이크로서비스연구가 9시간 전 2025.05.06 06:48 새글
  • 1
    1
저는 Sodium 라이브러리에서 password hashing 함수인 `sodium_crypto_pwhash_str_needs_rehash` 함수를 사용하고 있습니다. 이 함수는 재해시가 필요한지 여부를 알려주는 함수입니다. 그러나 함수의 사용 방법과 결과 값에 대해 혼란을 느끼고 있습니다.

`sodium_crypto_pwhash_str_needs_rehash` 함수는 어떻게 사용해야 하는지 알려주세요? 또한 함수가 반환하는 결과 값은 어떤 의미를 가지고 있는지 설명해 주세요.

    댓글목록

    profile_image
    나우호스팅  9시간 전



    `sodium_crypto_pwhash_str_needs_rehash` 함수는 Sodium 라이브러리에서 password hashing 함수인 `sodium_crypto_pwhash` 함수를 사용했을 때 재해시가 필요한지 여부를 알려주는 함수입니다.

    이 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 이전에 저장한 해시 값이고, 두 번째 인자는 사용자가 입력한 password입니다.

    이 함수의 반환 값은 `0` 또는 `1`로, `0`은 재해시가 필요 없음을 의미하고, `1`은 재해시가 필요함을 의미합니다.

    예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    c
    
    int needs_rehash = sodium_crypto_pwhash_str_needs_rehash(저장된 해시 값, 사용자 입력 password);
    
    if (needs_rehash == 1) {
    
        // 재해시가 필요함
    
        저장된 해시 값 = sodium_crypto_pwhash(사용자 입력 password);
    
    } else {
    
        // 재해시가 필요하지 않음
    
    }
    
    


    이 함수를 사용하는 이유는 password hashing 함수인 `sodium_crypto_pwhash` 함수는 password의 길이와 salt의 길이에 따라 해시 값의 길이가 달라질 수 있기 때문입니다. 따라서, 이전에 저장한 해시 값과 현재의 password을 비교할 때, 재해시가 필요할 수 있습니다.

    2025-05-06 06:49

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 17,063건 / 3 페이지

검색

게시물 검색