개발자 Q&A

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

2025.07.21 08:11

Sodium crypto_pwhash_str_needs_rehash 함수 이해 요청

목록
  • 알고리즘광 2일 전 2025.07.21 08:11
  • 20
    1
저는 sodium_crypto_pwhash_str_needs_rehash 함수를 사용하여 비밀번호와 해시를 생성하려고 합니다. 그러나 이 함수의 반환값을 정확히 이해하지 못하고 있습니다.

이 함수는 이전에 생성된 해시가 최신 버전을 지원하는지 여부를 확인하는 데 사용되나요?

또한, 이 함수의 반환값이 True이면 이전에 생성된 해시가 최신 버전을 지원하지 않는다는 의미인가요?

반환값이 False이면 이전에 생성된 해시가 최신 버전을 지원한다는 의미인가요?

혹시 이 함수를 사용하여 비밀번호와 해시를 생성할 때 어떤 조건을 만족해야 하는지 알려주시겠어요?

혹시 예시 코드를 제공해주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    sodium_crypto_pwhash_str_needs_rehash 함수는 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는지 여부를 확인하는 데 사용됩니다.

    이 함수의 반환값이 True이면, 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하지 않는다는 의미입니다. 이 경우, 새로운 해시를 생성해야 합니다.

    반환값이 False이면, 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원한다는 의미입니다. 이 경우, 이전에 생성된 해시를 사용할 수 있습니다.

    이 함수를 사용하여 비밀번호와 해시를 생성할 때는, 다음 조건을 만족해야 합니다.

    1. 비밀번호의 길이는 32바이트 이상이어야 합니다.
    2. 비밀번호는 ASCII 문자만 포함해야 합니다.
    3. 비밀번호는 이전에 생성된 해시와 다르야 합니다.

    예시 코드는 다음과 같습니다.

    #hostingforum.kr
    python
    
    import sodium
    
    
    
    # 이전에 생성된 해시
    
    previous_hash = b'이전의 해시'
    
    
    
    # 비밀번호
    
    password = b'새로운 비밀번호'
    
    
    
    # sodium_crypto_pwhash_str_needs_rehash 함수를 사용하여 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는지 여부를 확인합니다.
    
    if sodium.crypto_pwhash_str_needs_rehash(previous_hash, password):
    
        # 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하지 않는 경우, 새로운 해시를 생성합니다.
    
        new_hash = sodium.crypto_pwhash_str(password, sodium.crypto_pwhash_ALG_ARGON2ID13, 32)
    
        print(new_hash)
    
    else:
    
        # 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는 경우, 이전에 생성된 해시를 사용합니다.
    
        print(previous_hash)
    
    


    이 예시 코드에서는 sodium_crypto_pwhash_str_needs_rehash 함수를 사용하여 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는지 여부를 확인합니다. 만약 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하지 않는 경우, 새로운 해시를 생성합니다. 만약 이전에 생성된 해시가 최신 버전의 Sodium 라이브러리를 지원하는 경우, 이전에 생성된 해시를 사용합니다.

    2025-07-21 08:12

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

검색

게시물 검색