这篇文章介绍了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实现加密与解密详解_菜鸟教程之家

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

JavaScript实现加密与解密详解相关推荐

  1. C#实现RSA加密和解密详解

    C#实现RSA加密和解密详解 原文:C#实现RSA加密和解密详解 RSA加密解密源码: using System; using System.Collections.Generic; using Sy ...

  2. 加密、解密详解及CA的实现

    加密.解密详解及CA的实现 推荐 转载nmshuishui的文章,文章链接 http://blog.51cto.com/nmshuishui/1370917?utm_source=tuicool&am ...

  3. Hutool-crypto 加密、解密详解!

    1. 介绍 在Java开发的过程中,很多场景下都需要加密解密. 比如对敏感数据的加密,对配置文件信息的加密,通信数据的加密等等. 今天介绍的是Hutool工具包中的加密模块 crypto. 2. 加密 ...

  4. linux 下的加密和解密详解

    我们在网上的发送的邮件时明文的,可以被截获,被我们的服务商获得,甚至可以被搜索出来,这时一件很恐怖的事情,如果是一般的嘘寒问暖的信息也就罢了.若是私信就危险了,所以呢,加密就很有必要了!! 什么是加/ ...

  5. C#高级--加密解密详解

    C#高级–加密解密详解 零.文章目录 一.名词介绍 1.加密 是以某种特殊的算法改变原有的信息数据,以另外一种形式呈现,这里有几个名词:加密之前的信息数据可以理解为原数据,原文:加密之后的数据信息可以 ...

  6. Python爬虫JS解密详解,学会直接破解80%的网站(一)!!!

    文章目录 1.网页查看 2.有道翻译简单实现源码 3.JS解密(详解) 4.python实现JS解密后的完整代码 4.1.实现效果 5.JS解密后完整代码升级版 5.1.实现效果 CSDN独家福利降临 ...

  7. TLS/SSL加解密详解(一)

    TLS/SSL加解密详解(一) 本章节主要介绍TLS/SSL的历史 TLS/SSL的来源 SSL(Secure Socket Layer)安全套接层协议 最初由网景公司(Netscape)研发,后被I ...

  8. python 录制web视频_Python django框架 web端视频加密的实例详解

    视频加密流程图: 后端获取保利威的视频播放授权token,提供接口api给前端 参考文档:http://dev.polyv.net/2019/videoproduct/v-api/v-api-play ...

  9. JavaScript 身份证号有效验证详解及实例代码

    这篇文章主要介绍了JavaScript 身份证号有效验证详解及实例代码的相关资料,需要的朋友可以参考下 JavaScript验证身份证号 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

最新文章

  1. aapt2 资源 compile 过程
  2. 流媒体的未来——视频技术如何演变
  3. 伦巴时间步的动作要领_军训动作要领已到,请签收
  4. 如何使用此功能强大的工具将Wemo添加到Homekit
  5. bzoj 4393 Usaco Fruit Feast
  6. java面试题常见的坑_java那些年踩过面试题的坑,你是否依旧记忆犹新!
  7. r语言集合补集_R语言之数据处理(二)
  8. .net core5
  9. QML 自定义鼠标光标
  10. matlab调和均值滤波_均值滤波和中值滤波的MATLAB实现
  11. Vue项目中使用echarts教程
  12. 台式计算机可以发射无线网络,台式机怎么样发射无线信号
  13. html验证座机号码_JS校验手机号 座机 邮箱 微信号
  14. 关于SaaS平台中应对多租户模式的设计
  15. 微信小程序的各种功能
  16. (一)利用Wikipedia中文语料训练词向量word2vec——获取Wikipedia简体中文语料库
  17. python画残差图_seaborn回归图---回归模型图Implot、线性回归图regplot、线性回归残差图residplot...
  18. output delay含义
  19. 42步进电机转速力矩曲线_步进电机的力矩与转速
  20. 机器学习三剑客之Matplotlab

热门文章

  1. php 图片处理,根据rgb生成纯色的图片
  2. 如何为3CX系统配置WatchGuard XTM防火墙
  3. 关于工业线阵相机的一些知识
  4. 2018北航北理工保研推免经验分享---本科211图形图像方向
  5. LeetCode——面试题 10.11. 峰与谷(JAVA)
  6. 2017 年度读书总结
  7. ECDH and ECDSA(ECC椭圆曲线算法3)
  8. Android和iOS接入Appsflyer SDK
  9. Day010要事第一
  10. Redis学习之zscore命令