Я создаю регистрационную форму для регистрации в angularjs и использую весенний ботинок. Когда я регистрирую пользователя, я использую следующий код для отправки данных в базу данных:
@RequestMapping(value = "/register",method = RequestMethod.POST)
public User addUser(@RequestBody User user) {
LOGGER.info("Received request to create the {}", user);
return repo.saveAndFlush(user);
}
Как я могу зашифровать пароль в базе данных?
Тогда я также хочу создать нечто похожее для входа. Но как мне вернуть материал с сервера в формате json в angularjs. Это безопасно. И как обрабатывать шифрование паролей? Можно ли также скрыть пароль при проверке?
Как правило, мы не шифруем пароль, но мы его хешируем, так что невозможно вернуть пароль. Когда пользователь пытается подключиться к приложению, вам нужно хэшировать его пароль и сравнить его с хэшированным, хранящимся в базе данных.
Я использую весенний пароль для шифрования паролей BCrypt для хэша. Это очень просто использовать.
Вы можете найти множество примеров о том, как хешировать пароль в java. вот пример.
Чтобы вернуть пользователю в формате Json клиенту, вам нужно просто добавить эту аннотацию: @ResponseBody (Spring MVC использует Jackson для преобразования его в формат Json).
@RequestMapping(value = "/register",method = RequestMethod.POST)
public @ResponseBody User addUser(@RequestBody User user) {
.....
return user
}