개발자 Q&A

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

2025.07.23 01:54

Sodium Crypto Shorthash 관련 질문

목록
  • CI/CD장인 5시간 전 2025.07.23 01:54 새글
  • 5
    1
제가 현재 sodium_crypto_shorthash 함수를 사용하여 SHA-256 해시를 생성하고자 하는데,
해시 생성 후 결과를 문자열로 반환하는 방법을 모르겠습니다.

해시 결과를 문자열로 반환하는 코드를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  5시간 전



    해시 결과를 문자열로 반환하는 방법은 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        unsigned char hash[crypto_shorthash_BYTES];
    
        const char *input = "Hello, World!";
    
        crypto_shorthash(hash, (const unsigned char *)input, strlen(input));
    
    
    
        // unsigned char 형의 해시 결과를 문자열로 변환하는 방법
    
        char hash_str[crypto_shorthash_BYTES * 2 + 1];
    
        for (int i = 0; i < crypto_shorthash_BYTES; i++) {
    
            sprintf(hash_str + i * 2, "%02x", hash[i]);
    
        }
    
        hash_str[crypto_shorthash_BYTES * 2] = '';
    
    
    
        printf("SHA-256 해시: %sn", hash_str);
    
    
    
        return 0;
    
    }
    
    


    위 코드는 `crypto_shorthash` 함수의 결과를 문자열로 변환하여 출력합니다.

    `crypto_shorthash_BYTES`는 SHA-256 해시의 크기를 나타내며, `crypto_shorthash_BYTES * 2 + 1`은 문자열로 변환할 때 필요한 크기를 나타냅니다.

    `sprintf` 함수를 사용하여 각 바이트를 2자리 HEX 문자열로 변환한 후, 결과를 `hash_str` 문자열에 저장합니다.

    마지막으로, `printf` 함수를 사용하여 해시 결과를 출력합니다.

    이 코드는 Sodium 라이브러리를 사용하여 SHA-256 해시를 생성하고, 결과를 문자열로 반환하는 방법을 보여줍니다.

    2025-07-23 01:55

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

검색

게시물 검색