加密方法汇总MD5.js,base64.js,aes.js,sha1.js
来源:互联网 发布:java定义一个构造方法 编辑:程序博客网 时间:2024/04/29 11:04
下载地址:
https://github.com/emn178/js-sha1
https://github.com/beatgammit/base64-js
https://github.com/emn178/js-md5
https://github.com/ricmoo/aes-js
https://github.com/brix/crypto-js
1、base64加密
在页面中引入base64.js文件,调用方法为:
≮!DOCTYPE HTML≯
≮html≯
≮head≯
≮meta charset="utf-8"≯
≮title≯base64加密≮/title≯
≮script type="text/javascript" src="base64.js"≯≮/script≯
≮script type="text/javascript"≯
//解密
≮/script≯
≮/head≯
≮body≯
≮/body≯
≮/html≯
2、md5加密
在页面中引用md5.js文件,调用方法为
≮!DOCTYPE HTML≯
≮html≯
≮head≯
≮meta charset="utf-8"≯
≮title≯md5加密≮/title≯
≮script type="text/ecmascript" src="md5.js"≯≮/script≯
≮script type="text/javascript"≯
≮/script≯
≮/head≯
≮body≯
≮/body≯
≮/html≯
3、sha1加密
据说这是最安全的加密
页面中引入sha1.js,调用方法为
≮!DOCTYPE HTML≯
≮html≯
≮head≯
≮meta charset="utf-8"≯
≮title≯sha1加密≮/title≯
≮script type="text/ecmascript" src="sha1.js"≯≮/script≯
≮script type="text/javascript"≯
≮/script≯
≮/head≯
≮body≯
≮/body≯
≮/html≯
CryptoJS实现AES加密
首先在项目中引入对应的加密文件,我们用的是AES,同时用RequireJS来加载JS,在配置中声明路径:
首先把加密解密封装好为一个模块
解释一下代码:
我们加密的模式选的是CBC的,然后填充模式是填充0,这个是前后台约定的,请谨慎。加密秘钥要求是32位长字符串(通过md5加密确保32位,算法限制),iv初始化向量是16位长度的字符串。这两个东西不懂的话,看看AES加密的条件。
要注意的是,在加密完成后的字符串是经过Base64加密的,也就是说,后台解密模块必须要求考虑字符编码问题,这个由项目实际来决定。可以把他先转出UTF8的然后再传递给后台。我这里后台是介绍Base64加密后的,所以就不用转码了。
解密之后要转成UTF8喔,如果后台给的数据是JSON的话,要用JSON.parse()一下才能用。
在代码中调用
sec= { cfg: { iv: CryptoJS.enc.Hex.parse('0000000000000000'),//填充模式0,iv初始化向量是16位长度的字符串,前后端商量约定 mode: CryptoJS.mode.CBC,//加密模式 padding: CryptoJS.pad.Pkcs7 }, encrypt: function (str, key) { var k = CryptoJS.enc.Utf8.parse(key); return CryptoJS.AES.encrypt(str, k, this.cfg).toString(); }, decrypt: function (str, key) { var k = CryptoJS.enc.Utf8.parse(key); return CryptoJS.enc.Utf8.stringify(CryptoJS.AES.decrypt(str, k, this.cfg)); }, md5: function (str) { return CryptoJS.MD5(str).toString().toUpperCase(); }, genVldCode: function (str, key) { return this.encrypt(this.md5(str + key), key) }};
调用:
var str = sec.decrypt(str, key);解密调用
- 加密方法汇总MD5.js,base64.js,aes.js,sha1.js
- web安全,js base64加密, MD5加密,sha1加密
- JS实现密码加密(base64, md5, sha1)
- JS实现密码加密(base64, md5, sha1)
- JS实现密码加密(base64, md5, sha1)
- Md5.sha1加密js插件
- JS实现的base64加密、md5加密及sha1加密详解
- 前端jq-MD5加密 + js-base64加密
- JS实现MD5和SHA1加密
- js MD5加密 和 base64编码实现!
- js SHA1加密
- Js base64 加密解密
- js base64 加密
- js,base64加密
- js base64加密
- JS Base64加密
- JS Base64加密
- js Base64加密
- hello world
- Java面试题(中)
- Java I/O 操作及优化建议
- 二叉树的创建及遍历
- linux下修改mac地址
- 加密方法汇总MD5.js,base64.js,aes.js,sha1.js
- Android 调用相机裁剪图片,和调用相册裁剪图片,动态申请相机权限和sd的读写权限
- 算法学习之旅,初级篇(29)-–链表中倒数第k个节点
- IntelliJ Idea 2017 免费激活方法
- 为控制台窗口建立消息队列(转载处也没标明出处)
- 第一章 初识java题
- 进程间、线程间通信方式小结
- 大数据准备-虚拟机克隆、克隆机网络设置、配置路由映射(3)
- 解决 MPAndroidChart 无法引入依赖的问题