菜鸟笔记
提升您的技术认知

js几种加密/解密方法-ag真人游戏

关于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") // 解密数据

crypto是node的内置模块,目的是提供通用的加密和哈希算法。nodejs用c/c =实现这些算法后,通过crypto这个模块暴露位js接口,方便使用,提高运行速度。使用的时候要安装一下。
 

 

一、base64加密

base64的github地址

示例


    
        前端的base64使用方法
    
    
    

输出结果

二、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 标签引入使用

">
    

输出结果

三、sha1加密(不可逆)

sha1的github地址

此处没找到sha1.js下载地址,所以在bootcdn中找在线文件到引入,需要的可自行从bootcdn中下载


输出结果

四、编码和解码字符串

使用js函数的escape()和unescape(),分别是编码和解码字符串

  

输出结果

五、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的格式

 

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);
 
网站地图