赞
踩
在工作中经常遇到密码明文传输这个问题,为了让密码安全些会让加密,现在有个比较方便的AES加密(前端密钥可能存在泄露风险,应该放到配置项中):
CryptoJS-v4.1.1
https://www.aliyundrive.com/s/bXP6M8ZxVAD
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
<script src="../static/ajax/libs/captcha/crypto-js.min.js" th:src="@{/ajax/libs/captcha/crypto-js.min.js}"></script>
<script src="../static/ajax/libs/captcha/ase.min.js" th:src="@{/ajax/libs/captcha/ase.min.js}"></script>
function register() { var password = $.common.trim($("input[name='password']").val()); //AES加密 var key = "ABCDEFGHIJKL\_key"; var iv = "ABCDEFGHIJKLM\_iv"; var encryptedPwd = aesMinEncrypt(key,iv,password); $.ajax({ type: "post", url: ctx + "register", data: { "password": encryptedPwd, ... ... } success: function (res) {} }); } function aesMinEncrypt(key, iv, word){ var _word = CryptoJS.enc.Utf8.parse(word), _key = CryptoJS.enc.Utf8.parse(key), _iv = CryptoJS.enc.Utf8.parse(iv); var encrypted = CryptoJS.AES.encrypt(_word, _key, { iv: _iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); }
后端解密需要用到一个工具类:AESUtils,里面是解密方法代码如下:
package com.wuye.common.utils; import cn.jpush.api.utils.StringUtils; import sun.misc.BASE64Decoder; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; /\*\* \* TODO \* \* @author CSD \* @date 2022-07-28 14:16 \*/ public class AESUtils { //密钥 (需要前端和后端保持一致)十六位作为密钥 private static final String KEY = "ABCDEFGHIJKL\_key"; #### 总结一下 面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。 还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。 **[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)** 万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。 为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。   **前端面试题汇总**  **JavaScript**  **性能**  **linux**  **前端资料汇总**  前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。