js几种加密/解密方法
1.斯坦福大学的js加密库(简称SJCL)
关于1.是斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全、快速、短小精悍、易使用、跨浏览器的js加密库。如果有更复杂的安全需求,可以查阅API,文档地址是(http://bitwiseshiftleft.github.com/sjcl/doc/),对应的demo页面是(http://bitwiseshiftleft.github.com/sjcl/demo/)。
比较容易上手,简单的用下面的代码就可以进行加密、解密数据。
sjcl.encrypt(“password”, “data”)//加密数据
sjcl.decrypt(“password”,“encrypted-data”) // 解密数据
2.crypto-js
crypto是node的内置模块,目的是提供通用的加密和哈希算法。nodejs用c/c+=实现这些算法后,通过crypto这个模块暴露位js接口,方便使用,提高运行速度。使用的时候要安装一下。
一、base64加密
base64的Github地址
示例
<html><head><title>前端的base64使用方法</title></head><body></body>
<script>
var str = "hello";
var str64 = window.btoa("hello");
console.log("字符串是:"+str);
console.log("经base64编码后:"+str64);
console.log("base64解码后:"+window.atob(str64));
</script>
</html>
二、MD5加密(不可逆)
MD5的github地址
关于MD5:
MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。
MD5共有6种加密方法:
1, hex_md5(value)
2, b64_md5(value)
3, str_md5(value)
4, hex_hmac_md5(key, data)
5, b64_hmac_md5(key, data)
6, str_hmac_md5(key, data)
md5代码下载地址——点此下载
下载好了用script 标签引入使用
<script src="md5/md5.js"></script>"></script><script>var code = "123456";var username = "123456";var password = "123456";var str1 = hex_md5("123456");var str2 = b64_md5("123456");var str3 = str_md5("123456");var str4 = hex_hmac_md5(code,code);var str5 = b64_hmac_md5(username,username);var str6 = str_hmac_md5(password,password);console.log(str1); // e10adc3949ba59abbe56e057f20f883econsole.log(str2); // 4QrcOUm6Wau+VuBX8g+IPgconsole.log(str3); // áÜ9IºY«¾VàWò��>console.log(str4); // 30ce71a73bdd908c3955a90e8f7429efconsole.log(str5); // MM5xpzvdkIw5VakOj3Qp7wconsole.log(str6); // 0Îq§;Ý��9U©��t)ï
</script>
三、sha1加密(不可逆)
sha1的github地址
此处没找到sha1.js下载地址,所以在bootcdn中找在线文件到引入,需要的可自行从bootcdn中下载
<script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>
<script type="text/javascript">var sha1_1 = sha1("mosquito~");console.log(sha1_1);var sha1_2 = sha1("admin:1001");console.log(sha1_2);
</script>
四、编码和解码字符串
使用JS函数的escape()和unescape(),分别是编码和解码字符串
<script type="text/javascript">var escape1 =escape("我的名字是:mosquito~");//编码console.log(escape1);var unescape1 = unescape(escape1); //解码console.log(unescape1);
</script>
五、AES/DES加密解密
下载crypto-js.js 引入使用 网址是点击下载
var aseKey = "12345678" //秘钥必须为:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt); //VKrZlqykem73x8/T2oCfCQ==//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt); //80018000142
【注】:加密的时候必须转成字符串 使用toString。 解密的时候 必须使用utf8的格式
RSA加密
var encrypt = new JSEncrypt();encrypt.setPublicKey($('#pubkey').val());var encrypted = encrypt.encrypt($('#input').val());// Decrypt with the private key...var decrypt = new JSEncrypt();decrypt.setPrivateKey($('#privkey').val());var uncrypted = decrypt.decrypt(encrypted);
sha256 js 前端加密
参考地址;https://blog.csdn.net/sirobot/article/details/107159829
js几种加密/解密方法相关推荐
- JS七种加密解密方法
HTML或JS加密解密 本文一共介绍了七种方法: 一:最简单的加密解密 二:转义字符"\"的妙用 三:使用Microsoft出品的脚本编码器Script Encoder ...
- 【H5】两种加密解密方法:
[H5]两种加密解码方法: encodeURI(): //加密 decodeURI(); //解密 加密成base64编码格式 btoa() 加密 atob() 解密 实现代码如下: <!DOC ...
- 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)
在最近的项目中,前端后台数据交互需要进行加密之后传输使用,以保证系统数据的安全.有关数据加密解密的问题,有很多种加密的方式,在这里我选择了AES的加密方式.特此写下此篇博文,总结讲述下PHP和JS进行 ...
- java nodejs aes_Java与Node.js利用AES加密解密出相同结果的方法示例
前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下 ...
- aes js加密php解密实例,基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码...
[实例简介] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码 [实例截图] [核心代码] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_ ...
- ios常见加密解密方法
在其他平台中经常会计算MD5值,在ios平台中也提供了该方法,首先需要导入头文件 [cpp] view plaincopy #import <CommonCrypto/CommonDigest. ...
- C#常用加密解密方法(MD5加密解密)
在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...
- C#常用加密解密方法(DES加密解密)
在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...
- C#常用加密解密方法(AES加密解密)
在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...
- PHP的几种加密解密算法
PHP的几种加密解密算法 一.开发环境 1.Windows+Apache+MySQL+PHP的环境. 2.文本编辑器:Sublime. 二.主要技术 PHP 三.实验内容与结果 本文主要介绍PHP的几 ...
最新文章
- 学精算的计算机知识,精算学专业学什么 附学习科目和课程
- 核酸序列特征信息分析
- Cordova:安卓白屏
- Pytorch cifar100离线加载二进制文件
- 南信大c语言实验8报告,北科大C语言程序设计实验报告8论文报告.doc
- 5绘制收银台程序_进来学知识了:实操之C/C++的绘制
- OpenAI 发布模型实现自动定理证明,妈妈再也不用担心我的数学?
- 10、斐波那契数列,跳台阶问题(Python)
- 苏三30篇原创高质量文章汇总
- 视频内容付费系统整站源码
- Windows XP 系统中内置的AT命令
- 后门及持久化访问1----辅助功能镜像劫持
- android 万能视频播放器源码,Android万能视频播放器05-音视频同步
- 2020大学研究生计算机排名,美国大学研究生计算机专业排名2020情况如何?
- 「Python入门」Python多进程
- 【django】class='btn' btn按钮样式
- 运动无线耳机哪款不容易掉、最不容易脱落的蓝牙耳机推荐
- 华为Mate40 Pro/Pro+正式发布 价格曝光
- 详解计算机内存及基于内存理解的几种数据结构
- DTOJ#4170. 「PKUWC2018」猎人杀
热门文章
- 在Visual Studio 2010中创建多项目(解决方案)模板【一】
- Delphi2007下cxComboBox乱码.
- php 7.x memcache.dll nts,vc15等下载
- 潘多拉 搭建 php服务器,OpenWrt/LEDE/潘多拉固件4G网卡上网之【HiLink模式上网教程】...
- DB2数据库备份和恢复笔记
- ch cc 2019Mac(ch cc 2019直装版)2.1中文特别版
- 与孩子一起学编程06章
- 360服务器自动获取设置,360推“史上最严重安全漏洞”自动检测工具 用户一键获取补丁...
- 恒强系统服务器,恒强系统色码解析大全
- 通过双击运行linux脚本