Я хочу безопасно передавать и обрабатывать пароли пользователей между браузером и серверной частью Spring MVC. Пароль шифруется на стороне клиента и расшифровывается на стороне сервера перед проверкой.
Код интерфейса:
Я хочу безопасно передавать и обрабатывать пароли пользователей между браузером и серверной частью Spring MVC. Пароль шифруется на стороне клиента и расшифровывается на стороне сервера перед проверкой. Код интерфейса: [code]
@Controller @RequestMapping("/login") public class LoginController { private static final String SECRET_KEY = "SecretKey123"; // Must be 16 chars for AES
private String decrypt(String encryptedPassword) throws Exception { SecretKeySpec secretKey = new SecretKeySpec(SECRET_KEY.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, secretKey); byte[] decodedBytes = Base64.getDecoder().decode(encryptedPassword); byte[] original = cipher.doFinal(decodedBytes); return new String(original); } } [/code] Я не уверен, безопасна ли моя реализация или существуют ли более эффективные методы шифрования и дешифрования в этом случае использования.