JavaScript实现加密与解密详解

这篇文章介绍了Java脚本语言实现加密与解密详解的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

目前原生射流研究…貌似并没有提供讯息摘要5计算相关的函数方法,只能自己实现或者使用前辈大神写好的。

一、使用crypto.js库进行加密

开源代码库的https://github.com/brix/crypto-js上下载该js。

它可以单独引入所需要加密方式的js;也可以引入一个加密-js.js这个文件,它相当于引入了所有的加密方式。

用法:

脚本类型=' text/JavaScript ' src=' path-to/bower _ components/crypto-js/crypto-js。js '/脚本

脚本类型='文本/javascript '

var encrypted=CryptoJS .AES(.);

var encrypted=CryptoJS .SHA256(.);

/脚本

1、举例:

Hash加密:

//加密实例一

console.log('加密结果一MD5:' CryptoJS .MD5('你好'));

//加密实例二

var pwd=' passwor

console.log('加密结果二Hmac-MD5: ' CryptoJS .HmacMD5('你好,pwd));

AES对称加密:

普通文本加密

//加密

定义变量密文=CryptoJS .AES.encrypt('我的消息','密钥123 ')。toString();

//解密

var bytes=CryptoJS .AES .解密(密文,"密钥123");

var原始文本=字节。tostring(cryptojs。随信附上utf8);

控制台。日志(原文);//'我的消息'

对象加密

var data=[{id: 1},{id: 2}]

//加密

定义变量密文=CryptoJS .AES。加密(JSON。stringify(数据),“密钥123”).toString();

//解密

var bytes=CryptoJS .AES .解密(密文,"密钥123");

var解密数据=JSON。解析(字节。tostring(cryptojs。随信附上utf8));

控制台。日志(解密数据);//[{id: 1},{id: 2}]

Custom Key and IV

var key=cryptojs。随信附上utf8。parse(' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ');//密钥

var iv=cryptojs。随信附上utf8。parse(' 1234567812345678 ');

//加密

var encrypted=CryptoJS .AES.encrypt('Message ',key,{ iv:iv });

//解密

var decrypted=CryptoJS .AES .解密(加密,密钥,

{

四:四,

模式:CryptoJS.mode.CBC,

填充:CryptoJS.pad.Pkcs7

});

var原文=解密。tostring(cryptojs。随信附上utf8);

Block Modes and Padding

var key=cryptojs。随信附上utf8。parse(' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ');//密钥

var iv=cryptojs。随信附上utf8。parse(' 1234567812345678 ');

var encrypted=CryptoJS .AES.encrypt('Message ',key,

{

四:四,

模式:CryptoJS.mode.CBC,

填充:CryptoJS.pad.Pkcs7

});//返回的是base64格式的密文

2、API

参见:https://cryptojs.gitbook.io/docs/

编码工具:

var words=cryptojs。随信附上base64。parse(' sgvsbg 8 sifdvcmxkiq==');

var base64=cryptojs。随信附上base64。stringify(单词);

var words=cryptojs。随信附上十六进制。parse(' 48656 c 6 c 6 f2c 20576 f 726 c 6421 ');

var hex=cryptojs。随信附上十六进制。stringify(单词);

var words=cryptojs。随信附上utf8。解析(“”);

var utf8=cryptojs。随信附上utf8。stringify(单词);

二、使用JavaScript-MD5库进行加密

开源代码库的https://github.com/blueimp/JavaScript-MD5上下载该js。

举例:

计算给定字符串值的(十六进制编码)MD5hash:

var hash=MD5(' value ')//' 2063 c 1608d 6 E0 BAF 80249 c 42 e2be 5804 '

var v1=md5('{'name ':'嘻嘻嘻嘻嘻嘻嘻嘻嘻,'年龄':22 } ');//56b 21847 ed 32d 96 cf 74077 b 22342 EB

计算给定字符串值和密钥的(十六进制编码的)HMAC-MD5哈希:

var hash=md5('value ',' key ')//' 01433 EFD 5 f 16327 ea4b 31144572 c 67 f 6 '

计算给定字符串值的原始讯息摘要5哈希:

var hash=md5('value ',null,true)

计算给定字符串值和密钥的原始HMAC-MD5哈希:

var hash=md5('value ',' key ',true)

到此这篇关于Java脚本语言实现加密与解密详解的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

原文地址:,,JavaScript实现加密与解密详解_菜鸟教程之家

本文来自网络,不代表菜鸟教程之家立场,转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值