개발자 Q&A

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

2025.07.01 20:58

Sodium_crypto_kdf_keygen 함수 이해를 위한 도움을 요청합니다.

목록
  • MariaDB장인 20일 전 2025.07.01 20:58 인기
  • 163
    1
저는 현재 sodium 라이브러리를 사용하여 password-based key derivation function (PBKDF) 구현 중입니다.
저는 password와 salt를 입력받아 derive key를 생성하는 sodium_crypto_kdf_keygen 함수를 사용하고 있지만, 이 함수의 인자 중 'key_len' 파라미터에 대한 이해가 부족합니다.
이 파라미터는 derive key의 길이를 의미하는 것인지, 또는 derive key의 길이를 나눠야 하는 factor를 의미하는 것인지 궁금합니다.
혹시 이 파라미터의 용도에 대한 자료나 예시 코드를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  20일 전



    sodium_crypto_kdf_keygen 함수의 \'key_len\' 파라미터는 derive key의 길이를 의미합니다.

    이 함수는 password와 salt를 입력받아 derive key를 생성하는 password-based key derivation function (PBKDF)입니다.

    key_len은 derive key의 길이를 바이트 단위로 지정합니다. 예를 들어, 32바이트의 derive key를 생성하려면 key_len을 32으로 설정하면 됩니다.

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

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        unsigned char password[32];
    
        unsigned char salt[32];
    
        unsigned char derive_key[32];
    
    
    
        // password와 salt를 입력받는 코드를 작성합니다.
    
    
    
        unsigned char key_len = 32; // derive key의 길이를 바이트 단위로 지정합니다.
    
    
    
        if (sodium_crypto_kdf_keygen(password, strlen((char*)password), salt, strlen((char*)salt), key_len, derive_key, &key_len) != 0) {
    
            printf("Error: %sn", sodium_strerror(sodium_errno()));
    
            return 1;
    
        }
    
    
    
        // derive key를 사용하는 코드를 작성합니다.
    
    
    
        return 0;
    
    }
    
    


    이 예시 코드에서는 password와 salt를 입력받은 후, derive key의 길이를 32바이트로 지정하고 sodium_crypto_kdf_keygen 함수를 호출합니다. derive key를 사용하는 코드를 작성하는 부분은 실제 구현에 따라 달라질 수 있습니다.

    2025-07-01 20:59

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

검색

게시물 검색