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几种加密/解密方法相关推荐

  1. JS七种加密解密方法

    HTML或JS加密解密 本文一共介绍了七种方法:   一:最简单的加密解密   二:转义字符"\"的妙用   三:使用Microsoft出品的脚本编码器Script Encoder ...

  2. 【H5】两种加密解密方法:

    [H5]两种加密解码方法: encodeURI(): //加密 decodeURI(); //解密 加密成base64编码格式 btoa() 加密 atob() 解密 实现代码如下: <!DOC ...

  3. 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)

    在最近的项目中,前端后台数据交互需要进行加密之后传输使用,以保证系统数据的安全.有关数据加密解密的问题,有很多种加密的方式,在这里我选择了AES的加密方式.特此写下此篇博文,总结讲述下PHP和JS进行 ...

  4. java nodejs aes_Java与Node.js利用AES加密解密出相同结果的方法示例

    前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下 ...

  5. aes js加密php解密实例,基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码...

    [实例简介] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码 [实例截图] [核心代码] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_ ...

  6. ios常见加密解密方法

    在其他平台中经常会计算MD5值,在ios平台中也提供了该方法,首先需要导入头文件 [cpp] view plaincopy #import <CommonCrypto/CommonDigest. ...

  7. C#常用加密解密方法(MD5加密解密)

    在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...

  8. C#常用加密解密方法(DES加密解密)

    在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...

  9. C#常用加密解密方法(AES加密解密)

    在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家. 先看看加密的基本概念: "加密",是一种限制对网络上传输数据的访问权的技术.原始数据( ...

  10. PHP的几种加密解密算法

    PHP的几种加密解密算法 一.开发环境 1.Windows+Apache+MySQL+PHP的环境. 2.文本编辑器:Sublime. 二.主要技术 PHP 三.实验内容与结果 本文主要介绍PHP的几 ...

最新文章

  1. 学精算的计算机知识,精算学专业学什么 附学习科目和课程
  2. 核酸序列特征信息分析
  3. Cordova:安卓白屏
  4. Pytorch cifar100离线加载二进制文件
  5. 南信大c语言实验8报告,北科大C语言程序设计实验报告8论文报告.doc
  6. 5绘制收银台程序_进来学知识了:实操之C/C++的绘制
  7. OpenAI 发布模型实现自动定理证明,妈妈再也不用担心我的数学?
  8. 10、斐波那契数列,跳台阶问题(Python)
  9. 苏三30篇原创高质量文章汇总
  10. 视频内容付费系统整站源码
  11. Windows XP 系统中内置的AT命令
  12. 后门及持久化访问1----辅助功能镜像劫持
  13. android 万能视频播放器源码,Android万能视频播放器05-音视频同步
  14. 2020大学研究生计算机排名,美国大学研究生计算机专业排名2020情况如何?
  15. 「Python入门」Python多进程
  16. 【django】class='btn' btn按钮样式
  17. 运动无线耳机哪款不容易掉、最不容易脱落的蓝牙耳机推荐
  18. 华为Mate40 Pro/Pro+正式发布 价格曝光
  19. 详解计算机内存及基于内存理解的几种数据结构
  20. DTOJ#4170. 「PKUWC2018」猎人杀

热门文章

  1. 在Visual Studio 2010中创建多项目(解决方案)模板【一】
  2. Delphi2007下cxComboBox乱码.
  3. php 7.x memcache.dll nts,vc15等下载
  4. 潘多拉 搭建 php服务器,OpenWrt/LEDE/潘多拉固件4G网卡上网之【HiLink模式上网教程】...
  5. DB2数据库备份和恢复笔记
  6. ch cc 2019Mac(ch cc 2019直装版)2.1中文特别版
  7. 与孩子一起学编程06章
  8. 360服务器自动获取设置,360推“史上最严重安全漏洞”自动检测工具 用户一键获取补丁...
  9. 恒强系统服务器,恒强系统色码解析大全
  10. 通过双击运行linux脚本