ruby on rails क्या है_secure_password किसी भी प्रकार के नमकीन उपयोग का उपयोग करता है?



ruby-on-rails encryption (1)

has_secure_password bcrypt-ruby का उपयोग करता है। bcrypt-ruby स्वचालित रूप से आपके लिए लवण के भंडारण और उत्पादन को संभालता है। bcrypt-ruby से एक सामान्य हैश इस तरह दिखता है: $2a$10$4wXszTTd7ass8j5ZLpK/7.ywXXgDh7XPNmzfIWeZC1dMGpFghd92e । इस हैश को निम्नलिखित फ़ंक्शन का उपयोग करके आंतरिक रूप से विभाजित किया गया है:

def split_hash(h)
  _, v, c, mash = h.split('$')
  return v, c.to_i, h[0, 29].to_str, mash[-31, 31].to_str
end

उदाहरण हैश के लिए यह कार्य पैदा करता है:

  • संस्करण: 2 ए
  • लागत: 10
  • नमक: $ 2 ए $ 10 $ 4wXszTTd7ass8j5ZLpK / 7।
  • हैश: ywXXgDh7XPNmzfIWeZC1dMGpFghd92e

== - BCrypt::Password का BCrypt::Password नमक निकालता है और इसे पारित स्ट्रिंग पर लागू करता है:

BCrypt::Password.create('bla') == 'bla' # => true

मैं डेटाबेस में एन्क्रिप्टेड पासवर्ड स्टोर करने के लिए has_secure_password का उपयोग करना चाहता हूं। अगर has_secure_password किसी भी प्रकार के नमक का उपयोग करता है तो has_secure_password इंटरनेट पर नहीं मिल रहा है। यदि यह नमक का उपयोग करता है, तो यह कैसे काम करता है? क्या कोई इसे मेरे लिए स्पष्ट कर सकता है?

Thijs





salt