개발자 Q&A

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

2025.08.08 05:41

Sodium Crypto Pwhash 함수 이해 도움 요청

목록
  • 인증체계장인 11시간 전 2025.08.08 05:41 새글
  • 5
    1
제가 공부 중인 Sodium 라이브러리의 crypto_pwhash 함수를 이해하지 못하고 있습니다.
crypto_pwhash 함수는 어떻게 작동하는지 설명해주세요.
사용자가 입력한 비밀번호를 어떻게 해시화하는지 궁금합니다.

또한, 비밀번호 길이에 따라 crypto_pwhash 함수의 수행 시간이 달라지는 이유를 알려주세요.
이러한 성능 차이는 어떻게 해소할 수 있는지 알려주세요.

여기서 중요한건 crypto_pwhash 함수의 옵션 parameter에 대해 설명해주세요.
옵션 parameter의 의미와 사용 예를 알려주세요.

마지막으로, crypto_pwhash 함수를 사용한 비밀번호 저장 방법을 알려주세요.
어떻게 비밀번호를 안전하게 저장하고, 추후 로그인 시 비밀번호를 검증할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  11시간 전



    crypto_pwhash 함수는 비밀번호를 안전하게 해시화하는 함수입니다.

    1. 작동 방식:
    - 사용자가 입력한 비밀번호를 받습니다.
    - 비밀번호 길이에 따라 crypto_pwhash 함수의 수행 시간이 달라집니다.
    - 비밀번호 길이가 길면 수행 시간이 더 오래 걸립니다.
    - 비밀번호 길이를 일정하게 유지하는 방법으로는 비밀번호를 임의로 길이로 설정하거나, 비밀번호를 암호화한 후 길이를 유지하는 방법이 있습니다.

    2. 옵션 parameter:
    - crypto_pwhash 함수의 옵션 parameter는 다음과 같습니다.
    - salt: 비밀번호를 해시화하는 데 사용되는 임의의 문자열입니다.
    - opslimit: 비밀번호를 해시화하는 데 사용되는 연산의 한도입니다.
    - memlimit: 비밀번호를 해시화하는 데 사용되는 메모리의 한도입니다.
    - 예를 들어, crypto_pwhash 함수를 사용하여 비밀번호를 해시화할 때, salt를 설정하여 비밀번호를 해시화하는 데 사용되는 임의의 문자열을 생성할 수 있습니다.

    3. 비밀번호 저장 방법:
    - 비밀번호를 안전하게 저장하기 위해, crypto_pwhash 함수를 사용하여 비밀번호를 해시화한 후, 해시화된 비밀번호를 데이터베이스에 저장합니다.
    - 추후 로그인 시, 사용자가 입력한 비밀번호를 crypto_pwhash 함수를 사용하여 해시화한 후, 데이터베이스에 저장된 해시화된 비밀번호와 비교합니다.
    - 만약 두 비밀번호가 일치하면, 로그인에 성공한 것으로 간주합니다.

    4. 성능 차이 해소 방법:
    - 비밀번호 길이에 따라 crypto_pwhash 함수의 수행 시간이 달라지는 문제를 해결하기 위해, 비밀번호 길이를 일정하게 유지하는 방법을 사용할 수 있습니다.
    - 예를 들어, 비밀번호를 임의로 길이로 설정하거나, 비밀번호를 암호화한 후 길이를 유지하는 방법을 사용할 수 있습니다.

    2025-08-08 05:42

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

검색

게시물 검색