@RestController шифрование пароля и отправка данных в JSON с Hibernate

0

Я создаю регистрационную форму для регистрации в 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. Это безопасно. И как обрабатывать шифрование паролей? Можно ли также скрыть пароль при проверке?

Теги:
spring
hibernate

1 ответ

2
Лучший ответ

Как правило, мы не шифруем пароль, но мы его хешируем, так что невозможно вернуть пароль. Когда пользователь пытается подключиться к приложению, вам нужно хэшировать его пароль и сравнить его с хэшированным, хранящимся в базе данных.

Я использую весенний пароль для шифрования паролей BCrypt для хэша. Это очень просто использовать.

Вы можете найти множество примеров о том, как хешировать пароль в java. вот пример.

Чтобы вернуть пользователю в формате Json клиенту, вам нужно просто добавить эту аннотацию: @ResponseBody (Spring MVC использует Jackson для преобразования его в формат Json).

@RequestMapping(value = "/register",method = RequestMethod.POST)
public @ResponseBody User addUser(@RequestBody User user) {

    .....

    return user
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню