Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda boleh menjana cincang SHA256 menggunakan OpenSSL dan C ?
Jana SHA256 dengan OpenSSL dan C
Dalam artikel ini, kami akan meneroka cara menjana cincang SHA256 menggunakan perpustakaan OpenSSL dan C . SHA256 ialah fungsi cincang kriptografi yang digunakan secara meluas yang menghasilkan ringkasan 256-bit data arbitrari yang unik.
Pelaksanaan
Untuk bermula, kita perlu memastikan pembangunan OpenSSL perpustakaan dan pengepala tersedia pada sistem kami. Selepas memasukkan pengepala yang diperlukan, kami boleh meneruskan pelaksanaan:
<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>
Untuk menjana cincang SHA256 daripada fail, kami menggunakan fungsi berikut:
<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>
Untuk menggunakan fungsi ini , hanya lulus rentetan input atau laluan fail sebagai hujah. Cincang SHA256 yang dijana akan dikembalikan dalam penimbal output yang disediakan.
Atas ialah kandungan terperinci Bagaimanakah anda boleh menjana cincang SHA256 menggunakan OpenSSL dan C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!