मैंने आमतौर पर पासवर्ड हैशिंग करने के लिए bcrypt लाइब्रेरी का उपयोग किया है, लेकिन लाइब्रेरी के syscall
के उपयोग के कारण ऐसा करने में असमर्थ हूं। मैंने भी स्क्रिप करने की कोशिश की है। अन्य तरीके सुरक्षित हैं, और कौन सा सबसे अच्छा तरीका होगा?गोलांग/ऐप इंजन - सुरक्षित रूप से उपयोगकर्ता का पासवर्ड हैशिंग
उत्तर
go.crypto पर एक नज़र डालें। यह pbkdf2 और bcrypt के लिए समर्थन प्रदान करता है। दोनों कार्यान्वयन पूरी तरह से गो में लिखे गए हैं और जीएई पर काम करना ठीक है।
उपयोग करने के लिए सबसे आसान शायद bcrypt है।
go get golang.org/x/crypto/bcrypt
उदाहरण उपयोग: पैकेज रन प्राप्त करने के लिए
import "golang.org/x/crypto/bcrypt"
func clear(b []byte) {
for i := 0; i < len(b); i++ {
b[i] = 0;
}
}
func Crypt(password []byte) ([]byte, error) {
defer clear(password)
return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
}
ctext, err := Crypt(pass)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(ctext))
उत्पादन कुछ इस तरह होगा:
$2a$10$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
आप बस हैश, उपयोग PBKDF2 चाहते हैं। उदाहरण:
import "golang.org/x/crypto/pbkdf2"
func HashPassword(password, salt []byte) []byte {
defer clear(password)
return pbkdf2.Key(password, salt, 4096, sha256.Size, sha256.New)
}
pass := []byte("foo")
salt := []byte("bar")
fmt.Printf("%x\n", HashPassword(pass, salt))
'स्पष्ट (पासवर्ड) 'क्यों जरूरी है? –
@ हेल्विनवांग यह नहीं है, लेकिन मैं उस स्मृति को ओवरराइट करना चाहता हूं जहां सादे पाठ पासवर्ड रखा गया था। – nemo
धन्यवाद, यह एक दिलचस्प बात है। –
- 1. हैशिंग पासवर्ड पर सुरक्षित नहीं है?
- 2. पासवर्ड को सुरक्षित रूप से
- 3. Django व्यवस्थापक नहीं हैशिंग कस्टम उपयोगकर्ता पासवर्ड
- 4. .NET में से कौन सा हैशिंग एल्गोरिदम पासवर्ड हैशिंग के लिए पर्याप्त सुरक्षित है?
- 5. पासवर्ड हैशिंग जावा और PHP
- 6. पासवर्ड हैशिंग एपीआई क्वेरी
- 7. ग्राहक/सर्वर अनुप्रयोग के लिए हैशिंग उपयोगकर्ता पासवर्ड
- 8. वेबएप पासवर्ड प्रबंधन - हैशिंग, सेलिंग, आदि
- 9. लैरवेल और उल्का पासवर्ड हैशिंग
- 10. क्लाइंट ब्राउज़र पर पासवर्ड हैशिंग
- 11. पासवर्ड हैशिंग क्या है?
- 12. डिक्रिप्टेबल पासवर्ड स्टोर करने का सुरक्षित तरीका
- 13. सुरक्षित रूप से एक jquery मोबाइल ऐप में स्थानीय रूप से उपयोगकर्ता पासवर्ड स्टोर करें
- 14. उपयोगकर्ता नाम/पासवर्ड (स्थानीय) को सुरक्षित रूप से कैसे सुरक्षित करें?
- 15. Django, ModelForms, उपयोगकर्ता और UserProfile - हैशिंग पासवर्ड नहीं
- 16. जावा में SHA2 पासवर्ड हैशिंग
- 17. गोलांग में पासवर्ड पासवर्ड हैशिंग (नोड.जेएस के साथ संगत)?
- 18. हैशिंग पासवर्ड के लिए डबल नमक?
- 19. मैं एमडी 5 से एसएचए में पासवर्ड हैशिंग कैसे बदलूं?
- 20. प्रोग्राम सुरक्षित रूप से पासवर्ड संरक्षित वेबसाइट तक कैसे पहुंचे?
- 21. पासवर्ड हैशिंग, नमक और हैश मूल्यों का भंडारण
- 22. डबल हैशिंग पासवर्ड - ग्राहक और सर्वर
- 23. मेमोरी (पायथन) में पासवर्ड को सुरक्षित रूप से मिटाना
- 24. मैं किस पासवर्ड हैशिंग विधि का उपयोग करना चाहिए?
- 25. पायथन में सुरक्षित रूप से डेटाबेस पासवर्ड कैसे संग्रहीत करें?
- 26. क्या MySQL * अस्थायी रूप से * में सादे टेक्स्ट पासवर्ड स्टोर करना सुरक्षित है?
- 27. एंड्रॉइड पर सुरक्षित रूप से पासवर्ड कैसे स्टोर करें?
- 28. रैम में पाइथन चर सुरक्षित रूप से ओवरराइट करें?
- 29. रेल: मेलर पासवर्ड सुरक्षित रूप से कैसे स्टोर करें?
- 30. खातों को बनाते समय, एक स्टोर पासवर्ड को सुरक्षित रूप से यादृच्छिक रूप से कैसे सुरक्षित करता है?
जहाँ तक मुझे http://code.google.com/p/go/source/browse/scrypt/scrypt.go?repo=crypto पर scrypt पुस्तकालय बताने के लिए नहीं करता है 'में सक्षम हूँ के रूप में टी 'syscall' का उपयोग करें। – Intermernet
हम्म। मैंने कोशिश की, और मुझे एक ही त्रुटि मिलती है। मुझे लगता है कि pbkdf2 lib इसका उपयोग कर रहा है - अगर मैं कोशिश करता हूं, तो यह भी मर जाता है। – benkraus