मेरा अगला कार्य पासवर्ड एन्क्रिप्ट करना होगा। मैं डेटाबेस का उपयोग परत पर काम कर रहा हूँ और मेरे सह कार्यकर्ता ने यह अनुरोध किया गया है: एक खाली विधि पर मौजूद SHA-512 हैश लागू। मैं यह कैसे कर सकता हूँ?पासवर्ड कैसे हैश करें?
उत्तर
काफी सरल वास्तव में प्रक्रिया:
byte[] data = Encoding.UTF8.GetBytes(stringPasswordForExample);
using(SHA512 sha512 = new SHA512Managed())
{
byte[] hash = sha512.ComputeHash(data); // Add Per User Salt as per the Below
}
hash
अब प्रारंभिक डेटा है कि आप टुकड़ों में बांटा चाहते थे की एक गैर प्रतिवर्ती हैश शामिल हैं। इसके अलावा, MSDN देखें। कुछ नोट: (। अब बेहतर है, और उपयोगकर्ता के लिए एक अनन्य - धन्यवाद पॉल, अच्छा बिंदु)
डाउनवोट पर कोई शब्द? धन्यवाद। –
मेरे द्वारा +1, हालांकि यह उल्लेखनीय होगा कि नमक प्रति-पासवर्ड अद्वितीय होना चाहिए। और शायद नमक – PaulG
@ पॉल - गुड प्वाइंट को जोड़ने के लिए अपना उदाहरण बदलना, –
उस पृष्ठ से सी # उदाहरण:
byte[] data = new byte[DATA_SIZE];
byte[] result;
SHA512 shaM = new SHA512Managed();
result = shaM.ComputeHash(data);
-1, जो तेज़ है। एक धीमी कुंजी व्युत्पन्न फ़ंक्शन का उपयोग करें, जैसे कि पीबीकेडीएफ 2, बीक्रिप्ट या स्क्रिप। – CodesInChaos
आप bcrypt का उपयोग करना चाहिए, जो SHA512 से पासवर्ड के लिए अधिक सुरक्षित है।
तुम सच में SHA512 उपयोग करने की आवश्यकता है, तो आप, SHA512Managed
class का उपयोग करना चाहिए के रूप में अन्य उत्तर उल्लेख किया है।
अपने हैश को नमक बनाना सुनिश्चित करें।
एक नमक के साथपासवर्ड कैसे है?
। वास्तव में।
कभी नहीं, कभी ऐसा करते हैं:
byte[] data = Encoding.UTF8.GetBytes(stringPasswordForExample);
लेकिन इस:
byte[] data = Encoding.UTF8.GetBytes(stringPasswordForExample + salt);
यह सबसे गलत समझा "व्यापार के चाल" से एक है। ज्यादातर लोग नहीं जानते कि "नमक" क्या है और जब आप उन्हें समझाते हैं, तो वे सोचते हैं कि यह व्यर्थ है।
सत्य है: SHA-512 या MD5 या कुछ बहुत कमजोर हैश, एक बार इंद्रधनुष तालिकाओं precomputed कर रहे हैं, कोई फर्क नहीं पड़ता। एसएचए -65536, क्या यह अस्तित्व में होना चाहिए (मैं यहां मुखौटा हूं), इंद्रधनुष सारणी प्रीकंप्यूटेड होने के बाद किसी भी अन्य हैशिंग एल्गोरिदम से बेहतर नहीं होगा।
एक बड़ा पर्याप्त "नमक" इंद्रधनुष तालिकाओं असंभव बना देता है:
http://en.wikipedia.org/wiki/Rainbow_table
ध्यान दें कि भले ही आप पूरी तरह से समझ कैसे हैश, नमक और इंद्रधनुष टेबल संबंधित (और इसलिए क्यों विकिपीडिया लेख कहता है: "एक नमक अक्सर टुकड़ों में बंटी पासवर्ड के साथ कार्यरत है इस हमले, और अधिक कठिन अक्सर अव्यवहार्य बनाने के लिए।") वहाँ एक बहुत ही उच्च संभावना है कि अपने सहकर्मियों नहीं करते हैं। जैसे ही यह बहुत संभावना है कि अधिकांश लोग इस धागे में ऊपर और नीचे गिरते हैं, इस विषय को समझ में नहीं आता है।
मैंने यहां 30 अपवॉट्स के साथ SO पर जवाब देखा है, जहां कोई समझ नहीं पाया कि नमक को अपनी स्थिति की रक्षा के लिए टेक्नो-बज़वर्ड के साथ क्या रखा गया था ... और फिर भी उनके पास इन सभी उपवास (बहुत आलसी सवाल खोजने के लिए लेकिन यह महाकाव्य था)।
में जोड़ा गया है और आपको प्रत्येक नए हैश के लिए अपना नमक बनाने के लिए 'आरएनजीक्रिप्टो सेवा प्रदाता' का उपयोग करना चाहिए, और हैश और नमक दोनों को स्टोर करना चाहिए। – Will
अकेले नमक पर्याप्त नहीं है। हैश फ़ंक्शन भी धीमा होना चाहिए। पीबीकेडीएफ 2, बीक्रिप्ट या स्क्रिप का प्रयोग करें। – CodesInChaos
- 1. पासवर्ड हैश कैसे माइग्रेट करें?
- 2. पासवर्ड पुनर्प्राप्त करते समय पासवर्ड हैश मान
- 3. पासवर्ड हैश तुलना के लिए jBCrypt का उपयोग कैसे करें?
- 4. bcrypt का उपयोग करके सादे पाठ पासवर्ड को हैश पासवर्ड से तुलना कैसे करें?
- 5. प्ले करें! हैश पासवर्ड खराब परिणाम देता है
- 6. सक्रिय निर्देशिका पासवर्ड हैश को SHA1 मान पर सेट करें?
- 7. डेटाबेस में एक SHA512 पासवर्ड हैश संग्रहीत
- 8. एसक्यूएल सर्वर 2000, हाँ 2000 पासवर्ड हैश
- 9. हैश पासवर्ड के साथ MySQL से कनेक्ट करें?
- 10. पासवर्ड एन्क्रिप्ट कैसे करें
- 11. एसएचए -512 का प्रयोग करें और एमडी 5 हैश पासवर्ड हैश के लिए नमक?
- 12. आप अपने मौजूदा पासवर्ड हैश में नमक कैसे जोड़ेंगे?
- 13. सशर्त। Htaccess पासवर्ड कैसे करें
- 14. हार्डकोड पासवर्ड कैसे नहीं करें?
- 15. पासवर्ड कैसे व्यवस्थित करें * सही *?
- 16. पासवर्ड नमक कैसे स्टोर करें
- 17. डेटाबेस पासवर्ड कैसे संग्रहीत करें
- 18. Winforms एप्लिकेशन में पासवर्ड कैसे स्टोर करें?
- 19. डेटाबेस में पासवर्ड कैसे स्टोर करें?
- 20. पासवर्ड एन्क्रिप्ट
- 21. हैश उदाहरण के इस हैश का विश्लेषण कैसे करें?
- 22. यह किस प्रकार का पासवर्ड हैश/एन्क्रिप्शन है?
- 23. क्या एचटीटीपीएस पर भेजने से पहले हैश पासवर्ड आवश्यक है?
- 24. पासवर्ड
- 25. एचटीएमएल/सीएसएस: "पासवर्ड" इनपुट कैसे पासवर्ड दिखाएं?
- 26. नमकीन हैश
- 27. तुलना करें (पासवर्ड) विशेषता
- 28. हैश-ऑफ-हैश को हैश-ऑफ़-हैश में कनवर्ट करें, हैश की विशेषता द्वारा अनुक्रमित
- 29. पासवर्ड हैशिंग, नमक और हैश मूल्यों का भंडारण
- 30. क्रिप्ट (3) $ 6 $ पासवर्ड हैश एल्गोरिदम (SHA-512 पर आधारित)?
मत करो। सुरक्षा विशेषज्ञों को पासवर्ड एन्क्रिप्शन छोड़ दें। आप इसे गलत समझेंगे, और फिर आप अपने संगठन को अपमानित करेंगे। एक विशेषज्ञ किराया; जो कमजोरियों के खिलाफ सफल हमले के बाद गड़बड़ी की सफाई की लागत से कहीं अधिक सस्ता है, जिसे आप नहीं जानते थे कि आप अपनी सुरक्षा प्रणाली में शामिल हो रहे थे। –
एक विशेषज्ञ को भर्ती करना आपके जोखिम के स्तर पर निर्भर करता है। यदि आप जनता के लिए निजी जानकारी संग्रहीत कर रहे हैं और यह पासवर्ड रास्ते में खड़ा है, तो एक विशेषज्ञ की तलाश करें। नीचे सूचीबद्ध अधिकांश उदाहरण आपकी औसत गैर गोपनीय सूचना परियोजना के लिए पर्याप्त होंगे। –
@Eric - मुझे लगता है कि आप इसका मतलब है "अपने स्वयं के निर्माण के बजाय .NET में SHA512 के कार्यान्वयन का उपयोग करें", न कि "अपनी सुरक्षा के लिए .NET में लागू सदस्यता प्रदाताओं का उपयोग करें।" मैं दोनों के लिए कुछ वैधता देख सकता हूं, लेकिन जब मैं पूर्व के साथ 100% सहमत हूं, तो मैं कुछ स्थितियों को देख सकता हूं जहां उत्तरार्द्ध वास्तव में संभव नहीं है। असल में, यह मेरे साथ कभी भी नहीं हुआ कि कोई व्यक्ति SHA-512 के अपने संस्करण को लागू करने पर विचार करेगा - इस प्रकार आपकी टिप्पणी ने मुझे एक मिनट के लिए परेशान किया था कि क्या आपका मतलब है कि मुझे अपने ऐप्स में किसी और योग्यता के लिए सुरक्षा का अनुबंध करना चाहिए। :-) – tvanfosson