क्या यह किसी एप्लिकेशन द्वारा उपयोग किए गए हैश पासवर्ड पर MySQL के पासवर्ड फ़ंक्शन का उपयोग करने के लिए अच्छा या बुरा अभ्यास माना जाता है? मैं पेशेवरों और विपक्ष देख सकता हूं। मैं उत्सुक हूं कि क्या यह सामान्य सहमति है कि यह अच्छा है या बुरा है।MySQL पासवर्ड फ़ंक्शन
उत्तर
MySQL के PASSWORD() समारोह राज्यों के लिए डॉक्स:
पासवर्ड() फ़ंक्शन MySQL सर्वर में प्रमाणीकरण प्रणाली द्वारा किया जाता है; आपको इसे अपने स्वयं के अनुप्रयोगों में उपयोग नहीं करना चाहिए।
हैशिंग और पासवर्ड संग्रहीत करने पर बेहतर सलाह के लिए "You're Probably Storing Passwords Incorrectly" पढ़ें।
एमडी 5 और एसएचए -1 को पासवर्ड के लिए उपयोग करने के लिए बहुत कमजोर माना जाता है। वर्तमान सिफारिश SHA-256 का उपयोग करना है।
मैंने SHA2()
फ़ंक्शन का समर्थन करने के लिए MySQL पर एक पैच का योगदान दिया, और पैच स्वीकार कर लिया गया था, लेकिन चूंकि उनके रोडमैप बदल गए हैं, यह स्पष्ट नहीं है कि यह इसे रिलीज़ किए गए उत्पाद में कब बनाएगा।
इस बीच, आप अपनी प्रोग्रामिंग भाषा में हैशिंग और नमक का उपयोग कर सकते हैं, और डेटाबेस में परिणाम हैश डाइजेस्ट को बस स्टोर कर सकते हैं। यदि आप PHP का उपयोग करते हैं, तो SHA-256 hash()
फ़ंक्शन में उपलब्ध है।
अद्यतन: MySQL 5.5.8 दिसंबर 2010 में जारी किया गया था, और उस रिलीज में SHA2()
फ़ंक्शन के लिए समर्थन शामिल है।
यदि आप हैश पासवर्ड में डेटाबेस फ़ंक्शन का उपयोग कर रहे हैं तो परिभाषा के अनुसार उन्हें डेटाबेस में पहुंचने की ज़रूरत है: इसलिए मैं इसे "स्रोत" यानी आगे के आवेदन में बहुत अधिक करना पसंद करता हूं ताकि आप पास नहीं हो रहे हों खुलासा जानकारी के आसपास।
+1 लवण और हैशिंग खाता पासवर्ड एक आवेदन मुद्दा है, ऐसा कुछ नहीं जिसे आप डीबीएमएस के विशेष कार्यान्वयन पर भरोसा करना चाहते हैं। – bobince
शब्द, यह ऐसा कुछ नहीं है जिसे आप उपयोग करना चाहते हैं। बस OLD_PASSWORD और PITA को देखें जो तब हुआ जब MySQL ने अपनी हैशिंग विधि बदल दी। ऐप में ऐसा करने के लिए बहुत बेहतर है, आईएमओ। – jeffcook2150
मेरा मानना है कि वास्तविक PASSWORD
MySQL में फ़ंक्शन असुरक्षित है, और टूट गया है, लेकिन मुझे इस समय कोई लिंक नहीं मिल रहा है। मुझे पता है कि पुराने (OLD_PASSWORD
5 और ऊपर) निश्चित रूप से असुरक्षित है।
बेशक, सभी पासवर्ड हमेशा नमक (आगे अस्पष्टता के लिए) के साथ संग्रहित किया जाना चाहिए। उदाहरण:
UPDATE users SET password=MD5(CONCAT('salt', 'user provided value')) WHERE id=54
भी MD5
समारोह नहीं है, लेकिन भारी इंद्रधनुष तालिकाओं के उदय के साथ, यह 100% पूरी तरह से संग्रहीत पासवर्ड मुश्किल होता करने का एक तरीका के रूप में विश्वसनीय नहीं है।
डाटाबेस तक पहुंचने से पहले एक बेहतर तरीका पासवर्ड (नमक के साथ) हैशिंग करना है। उदाहरण:
<?php
$password = sha1(SALT.$_POST["password"]);
$sql = "UPDATE users SET password='".$password."' WHERE id=54";
?>
password.c के कोड को देखते हुए, MySQL 4.1+ पासवर्ड को SHA1 के साथ इनपुट में दो बार लागू किया जाता है (बिना नमक के) और एक हेक्स स्ट्रिंग में परिवर्तित किया जाता है। –
पासवर्ड भंडारण के लिए एक सामान्य हैश का उपयोग नहीं किया जाना चाहिए (हालांकि यह अभी भी सादा पाठ से काफी बेहतर है) आपको बीसीआरपीटी या अन्य कुंजी-व्युत्पन्न फ़ंक्शन का उपयोग करना चाहिए, जो कि ब्रूट-फोर्स अटैक के खिलाफ अधिक प्रतिरोधी है। –
मैंने सोचा कि यह दो बार sha1 होना चाहिए? रेफरी: http: // stackoverflow।कॉम/प्रश्न/17766978/mysql-password-function-to-php – zx1986
- 1. MySQL रूट पासवर्ड कैसे खोजें
- 2. PHP पासवर्ड भूल गए फ़ंक्शन
- 3. MySQL - स्ट्रिंग कॉन्सटेनेशन फ़ंक्शन
- 4. mysql फ़ंक्शन ओरेकल एनवीएल
- 5. ओवरलोडिंग MySQL संग्रहीत फ़ंक्शन
- 6. PHP और MySQL पासवर्ड की तुलना करें
- 7. MySQL रूट पासवर्ड को कैसे हटाएं
- 8. mysql रूट पासवर्ड को कैसे बदलें
- 9. mysql रूट पासवर्ड को रीसेट कैसे करें?
- 10. MySQL में हैश पासवर्ड के लिए उपयोग करने के लिए क्या फ़ंक्शन?
- 11. mysql का PHP एनालॉग फ़ंक्शन
- 12. MySQL Xml फ़ंक्शन का प्रदर्शन?
- 13. एक कस्टम MySQL फ़ंक्शन बनाना?
- 14. MySQL
- 15. अस्थायी पासवर्ड ईमेल करके पासवर्ड रीसेट
- 16. mysql पासवर्ड के लिए संकेत दे रहा है भले ही मेरा पासवर्ड खाली है
- 17. पासवर्ड भूल गए: भूल गए पासवर्ड फ़ंक्शन को लागू करने का सबसे अच्छा तरीका क्या है?
- 18. एक खाली पासवर्ड में रूट पासवर्ड कैसे बदलें?
- 19. mysql कनेक्ट - क्या उपयोगकर्ता नाम/पासवर्ड हार्डकोड होना चाहिए?
- 20. डिफ़ॉल्ट रूप से MySQL रूट पासवर्ड कैसे बदलें?
- 21. mysql में पासवर्ड फ़ील्ड के साथ टेबल कैसे बनाएं?
- 22. हैश पासवर्ड के साथ MySQL से कनेक्ट करें?
- 23. पासवर्ड
- 24. MySQL
- 25. ओपनएसएसएल कमांड के साथ संगत कुंजी फ़ंक्शन पर पासवर्ड?
- 26. PHP: MySQL के फ़ंक्शन SUBSTRING_INDEX के बराबर?
- 27. क्या MySQL शॉर्ट सर्किट IF() फ़ंक्शन है?
- 28. SQLServer फ़ंक्शन SCOPE_IDENTITY() के बराबर mySQL में?
- 29. MySQL: दो कॉलम के फ़ंक्शन द्वारा आदेश
- 30. mysql में levenshtein फ़ंक्शन कैसे जोड़ें?
इस पोस्ट के लिए कोई अपडेट, यदि SHA2() अभी भी पासवर्ड फ़ंक्शन के प्रतिस्थापन के रूप में नवीनतम है? Thx – Charlesliam
@ चार्ल्सलिआम, bcrypt, scrypt, या PBDKF2 देखें। –