前端代码示例:

import CryptoJS from 'crypto-js'; // 导入加密库

// 加密函数
function encrypt(password) {
  const key = CryptoJS.enc.Utf8.parse('1234567890abcdef');
  const iv = CryptoJS.enc.Utf8.parse('abcdef1234567890');
  const encrypted = CryptoJS.AES.encrypt(
    password,
    key,
    { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }
  );
  return encrypted.toString();
}

// 调用加密函数进行加密
const password = '123456';
const encryptedPassword = encrypt(password);

// 将加密后的密码传输到后端
axios.post('/api/login', { password: encryptedPassword });

后端代码示例:

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

// 密码加密函数
public String encodePassword(String password) {
  BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
  return passwordEncoder.encode(password);
}

// 调用加密函数进行加密
String password = "123456";
String encodedPassword = encodePassword(password);

// 将加密后的密码存储到数据库中
User user = new User();
user.setPassword(encodedPassword);
userRepository.save(user);

依赖安装

前端使用了 CryptoJS 库进行 AES 加密,需要在前端项目中安装 CryptoJS 依赖,可以通过 npm 进行安装:

npm install crypto-js --save

总结

本文介绍了使用 Vue 和 Spring Boot 实现密码加密传输的完整代码示例,并详细介绍了所需依赖和加密算法。前端使用 CryptoJS 库进行 AES 加密,后端使用 Spring Security 提供的 BCryptPasswordEncoder 进行密码加密。在实际应用中,需要根据具体情况选择合适的加密算法和密钥管理方案,确保数据安全。

Vue 和 Spring Boot 密码加密传输:代码示例和依赖

原文地址: https://www.cveoy.top/t/topic/okkW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录