JS加解密之DES
demo
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script> <script> alert(desDecrypt(desEncrypt("yvioo","wa1234535"),"wa1234535")) /** * 加密字符串 * @param str 要加密的字符串 * @param key 秘钥 必须大于八位 * @returns {string} */ function desEncrypt(str, key) { var APIFMS; try { var keyHex_encrypt = CryptoJS.enc.Utf8.parse(key); var encrypted = CryptoJS.DES.encrypt(str, keyHex_encrypt, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); APIFMS = CryptoJS.enc.Base64.stringify(encrypted.ciphertext); } catch (err) { console.log('des 加密 -------------------------'); console.log(err); } return APIFMS; } /** * 解密字符串 * @param str 要解密的字符串 * @param key 秘钥 必须大于八位 * @returns {string} */ function desDecrypt(str, key) { var result_value; try { var keyHex_decrypt = CryptoJS.enc.Utf8.parse(key); var decrypted = CryptoJS.DES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse(str) }, keyHex_decrypt, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); result_value = decrypted.toString(CryptoJS.enc.Utf8); } catch (err) { console.log('des 解密 ------------------------- '); console.log(err); console.log("解密前数据:" + str); } return result_value; } </script>
如果解密出现异常:Error: Malformed UTF-8 data
看下是不是因为密文含有换行符\r\n 如果有要把这种去掉
str = str.toString().replace(/\r|\n/ig, "");
JAVA加解密之DES 参考:https://www.cnblogs.com/pxblog/p/13813117.html
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
分类:
前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2020-10-21 Tomcat配置使用域名访问项目
2020-10-21 JS获取客户的IP地址