Программно, вы можете сделать это следующим образом:
В вашем файле application-context.xml (определенном в web.xml в contextConfigLocation
) определите bean-компонент (в этом примере используется md5
).
<bean class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" id="passwordEncoder" />
Затем автоматически подключите кодировщик пароля:
@Autowired
PasswordEncoder passwordEncoder;
В вашем методе или в любом месте, где вы хотите использовать хеш и соль.
passwordEncoder.encodePassword("MyPasswordAsString", "mySaltAsStringOrObject");
Вышеприведенный вызов должен вернутьсясоленый хеш (как String
).
Это должно сделать это.Я предполагаю, что вы можете выяснить, какая банка вам понадобится.
ОБНОВЛЕНИЕ
Само собой разумеется, что использование MD5 - не лучшая идея.В идеале вы должны использовать SHA-256 как минимум.Это можно сделать с помощью ShaPasswordEncoder
.
Замените приведенную выше конфигурацию bean-компонента MD5 на:
<bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
<constructor-arg value="256"/>
</bean>