मुझे लगता है कि आप पूछ रहे हैं कि यह कैसे काम करता है ?? उत्तर काफी सरल है। StandardPasswordEncoder.matches()
वह तरीका है जिसका आप उपयोग करना चाहते हैं। परदे के पीछे, StandardPasswordEncoder
हैशेड पासवर्ड को डीकोड करेगा और परिणामी बाइट सरणी से नमक निकालेगा। यह तब उस नमक का उपयोग आपके द्वारा पास किए गए सादे-पाठ पासवर्ड को हैश करने के लिए करेगा। यदि परिणामी हैश मूल हैश से मेल खाता है, तो आपके पासवर्ड मेल खाते हैं! StandardPasswordEncoder.matches()
. के पीछे के विवरण के लिए स्रोत देखें :
public boolean matches(CharSequence rawPassword, String encodedPassword) {
byte[] digested = decode(encodedPassword);
byte[] salt = subArray(digested, 0, saltGenerator.getKeyLength());
return matches(digested, digest(rawPassword, salt));
}