ओपनएसएसएल और सी के साथ SHA256 हैश उत्पन्न करना
हैशिंग एक क्रिप्टोग्राफ़िक तकनीक है जिसका उपयोग डेटा का एक अद्वितीय फिंगरप्रिंट, या डाइजेस्ट उत्पन्न करने के लिए किया जाता है। SHA256 (सिक्योर हैश एल्गोरिथम 2, 256-बिट) के मामले में, यह डाइजेस्ट एक 256-बिट हेक्साडेसिमल स्ट्रिंग है। SHA256 का उपयोग आमतौर पर डेटा अखंडता की जांच करने, डिजिटल हस्ताक्षरों को सत्यापित करने और पासवर्ड को सुरक्षित रूप से संग्रहीत करने के लिए किया जाता है। &&&]
ओपनएसएसएल हेडर शामिल करेंआरंभ करने के लिए, सुनिश्चित करें कि आपके पास ओपनएसएसएल हेडर हैं आपके C कंपाइलर के लिए उपलब्ध है। आमतौर पर, आप निम्नलिखित शामिल कथन का उपयोग कर सकते हैं:
#include#include
इसके बाद, हमें हैशिंग प्रक्रिया आरंभ करने के लिए एक SHA256 संदर्भ बनाने की आवश्यकता है। हम इसे निम्नलिखित कोड के साथ कर सकते हैं:
SHA256_CTX context; SHA256_Init(&context);SHA256_CTX context;
SHA256_Init(&context);
हैश उत्पन्न करने के लिए, हमें हैश किए जाने वाले डेटा को SHA256 संदर्भ में फीड करना होगा। हम इसे SHA256_Update() फ़ंक्शन का उपयोग करके टुकड़ों में कर सकते हैं:
SHA256_Update(&context, data, data_length);SHA256_Update(&context, data, data_length);
एक बार सारा डेटा SHA256 संदर्भ में फीड हो जाने के बाद, हम इसका उपयोग करके हैश को अंतिम रूप दे सकते हैं SHA256_Final() फ़ंक्शन:
अहस्ताक्षरित चार हैश[SHA256_DIGEST_LENGTH]; SHA256_Final(hash, &context);परिणामस्वरूप हैश अब हैश सरणी में संग्रहीत है।unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256_Final(hash, &context);
एक हेक्साडेसिमल स्ट्रिंग में कनवर्ट करेंअंत में, हम बाइनरी हैश को मानव-पठनीय हेक्साडेसिमल में बदलने की आवश्यकता है स्ट्रिंग:
char hex_hash[65]; के लिए (int i = 0; ichar hex_hash[65];
for (int i = 0; i x", hash[i]);
}
hex_hash[64] = 0;
अब जब हमारे पास हमारे फ़ंक्शन मौजूद हैं, तो हम आवश्यकतानुसार SHA256 हैश उत्पन्न करने के लिए उनका उपयोग कर सकते हैं। उदाहरण के लिए:
// एक स्ट्रिंग के लिए हैश जेनरेट करें चार हैश_स्ट्रिंग[65]; SHA256_string ("हैलो, दुनिया!", हैश_स्ट्रिंग); // फ़ाइल के लिए हैश जनरेट करें चार हैश_फ़ाइल[65]; SHA256_file('path/to/file', hash_file);यह दिए गए स्ट्रिंग या फ़ाइल के लिए SHA256 हैश उत्पन्न करेगा और इसे संबंधित बफर में संग्रहीत करेगा।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3