OpenSSL 및 C를 사용하여 SHA256 생성
이 기사에서는 OpenSSL 라이브러리 및 C를 사용하여 SHA256 해시를 생성하는 방법을 살펴보겠습니다. SHA256은 임의 데이터의 고유한 256비트 다이제스트를 생성하는 널리 사용되는 암호화 해시 함수입니다.
구현
시작하려면 OpenSSL 개발이 라이브러리와 헤더는 우리 시스템에서 사용할 수 있습니다. 필요한 헤더를 포함한 후 구현을 진행할 수 있습니다.
<code class="cpp">#include <openssl/sha.h> // Function to generate SHA256 hash of a string void sha256_string(char *string, char outputBuffer[65]) { unsigned char hash[SHA256_DIGEST_LENGTH]; SHA256_CTX sha256; SHA256_Init(&sha256); SHA256_Update(&sha256, string, strlen(string)); SHA256_Final(hash, &sha256); int i = 0; for (i = 0; i < SHA256_DIGEST_LENGTH; i++) { sprintf(outputBuffer + (i * 2), "%02x", hash[i]); } outputBuffer[64] = 0; }</code>
파일에서 SHA256 해시를 생성하려면 다음 함수를 사용합니다.
<code class="cpp">int sha256_file(char *path, char outputBuffer[65]) { FILE *file = fopen(path, "rb"); if (!file) return -534; unsigned char hash[SHA256_DIGEST_LENGTH]; SHA256_CTX sha256; SHA256_Init(&sha256); const int bufSize = 32768; unsigned char *buffer = malloc(bufSize); int bytesRead = 0; if (!buffer) return ENOMEM; while ((bytesRead = fread(buffer, 1, bufSize, file))) { SHA256_Update(&sha256, buffer, bytesRead); } SHA256_Final(hash, &sha256); sha256_hash_string(hash, outputBuffer); fclose(file); free(buffer); return 0; }</code>
이러한 함수를 사용하려면 , 입력 문자열이나 파일 경로를 인수로 전달하기만 하면 됩니다. 생성된 SHA256 해시는 제공된 출력 버퍼에 반환됩니다.
위 내용은 OpenSSL 및 C를 사용하여 SHA256 해시를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!