js脚本锁计算机软件,JS使用插件cryptojs进行加密解密数据实例

本文实例讲述了JS使用插件cryptojs进行加密解密数据。分享给大家供大家参考,具体如下:

Testing websockets

var key = 'BOTWAVEE';

//CBC模式加密

function encryptByDESModeCBC(message) {

var keyHex = CryptoJS.enc.Utf8.parse(key);

var ivHex = CryptoJS.enc.Utf8.parse(key);

encrypted = CryptoJS.DES.encrypt(message, keyHex, {

iv:ivHex,

mode: CryptoJS.mode.CBC,

padding:CryptoJS.pad.Pkcs7

}

);

return encrypted.ciphertext.toString();

}

//CBC模式解密

function decryptByDESModeCBC(ciphertext2) {

var keyHex = CryptoJS.enc.Utf8.parse(key);

var ivHex = CryptoJS.enc.Utf8.parse(key);

// direct decrypt ciphertext

var decrypted = CryptoJS.DES.decrypt({

ciphertext: CryptoJS.enc.Hex.parse(ciphertext2)

}, keyHex, {

iv:ivHex,

mode: CryptoJS.mode.CBC,

padding: CryptoJS.pad.Pkcs7

});

return decrypted.toString(CryptoJS.enc.Utf8);

}

//DES ECB模式加密

function encryptByDESModeEBC(message){

var keyHex = CryptoJS.enc.Utf8.parse(key);

var encrypted = CryptoJS.DES.encrypt(message, keyHex, {

mode: CryptoJS.mode.ECB,

padding: CryptoJS.pad.Pkcs7

});

return encrypted.ciphertext.toString();

}

//DES ECB模式解密

function decryptByDESModeEBC(ciphertext){

var keyHex = CryptoJS.enc.Utf8.parse(key);

var decrypted = CryptoJS.DES.decrypt({

ciphertext: CryptoJS.enc.Hex.parse(ciphertext)

}, keyHex, {

mode: CryptoJS.mode.ECB,

padding: CryptoJS.pad.Pkcs7

});

var result_value = decrypted.toString(CryptoJS.enc.Utf8);

return result_value;

}

function test(){

var source = $("#source").val();

var cc = encryptByDESModeEBC(CryptoJS.enc.Utf8.parse(source));

$("#target").val(cc);

}

function test1(){

var source = $("#sourceS").val();

var dd = decryptByDESModeEBC(source);

$("#jiemi").val(dd);

}

加密前:


加密后:



密文:


解密后:


PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:http://tools.jb51.net/password/hash_md5_sha

希望本文所述对大家JavaScript程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx、Apache、IIS服务器解决 413 Request Entity Too Large问题方法汇总

一、nginx服务器 nginx出现这个问题的原因是请求实体太长了。一般出现种情况是Post请求时Body内容Post的数据太大了,如上传大文件过大、POST数据比较多。处理方法 在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提…

python代理池好难啊_新人不会自己搭建代理池?快来引用大佬的

新人不会自己搭建代理池?快来引用大佬的对于新人学习爬虫来说,虽然不会爬取太难的网站,但是有时候爬取的数据量过大的时候,也会遇到返回不了数据的问题,这时候打开网页一看.可能会看到"你的ip访问频率太高"这样的提示,出现这种问题的原因可能是,你被封ip啦.但是爬虫…

pat 1123(AVL)

题意:给n个数,按照顺序插入AVL,输出层次遍历,如果这颗AVL是完全二叉树,输出YES 否则输出NO 当时考试的时候。忘记AVL什么时候旋转了,数据结构不会写,感觉药丸 判断完全二叉树,这个简…

leetcode435. 无重叠区间(贪心算法)

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 …

AMD规范(RequireJS)、CMD规范(SeaJS)、CommonJS(BravoJS)规范的辨析

首先,AMD,CMD,CommonJS都实现了文件模块化。 对于依赖的模块:AMD是提前执行;CMD是延迟执行; AMD是依赖前置,CMD是依赖就近; AMD官方解释:https://github.com/amdjs/amdjs…

客户旅程_我们进入微服务世界的旅程-以及从中学到的东西。

客户旅程by Ignacio Salazar Williams通过伊格纳西奥萨拉萨尔威廉姆斯(Ignacio Salazar Williams) 我们进入微服务世界的旅程-以及从中学到的东西。 (Our journey into the world of Microservices — and what we learned from it.) I know, I know everyone is talking abou…

英才计划计算机潜质测评试题,湖北省2020年“英才计划”潜质测试的通知

12月3日,湖北省青少年科技中心发布湖北省2020年“英才计划”潜质测试的通知,潜质测试分为笔试和机试两部分测试时间为2019年12月7日。各相关单位:根据《中国科协办公厅 教育部办公厅关于开展2020年“英才计划”工作的通知》(科协办发青字〔20…

leetcode1253. 重构 2 行二进制矩阵(贪心算法)

给你一个 2 行 n 列的二进制数组: 矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是 0 就是 1。 第 0 行的元素之和为 upper。 第 1 行的元素之和为 lower。 第 i 列(从 0 开始编号)的元素之和为 colsum[i],colsum…

Spring Cloud Config服务端配置细节(一)

上篇文章我们看了Spring Cloud中分布式配置中心的一个基本使用,这里边还涉及到许多细节,本文我们就来看看服务端配置中的一些细节。 本文是Spring Cloud系列的第二十三篇文章,了解前二十二篇文章内容有助于更好的理解本文: 1.使用…

POJ 1797 Heavy Transportation

传送门&#xff1a;http://poj.org/problem?id1797 不想吐槽了&#xff0c;弄了好久才AC 实现代码&#xff1a; #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <cstdio> #include <iostream> u…

java8中方法区的内存大小如何设置_从Java8升级到Java11

奇技 指南为什么选择Java11?容器环境支持&#xff0c;GC等领域的增强&#xff0c;仅通过切换到 Java 11 就有 16&#xff05; 的改进。进行了瘦身&#xff0c;更轻量级&#xff0c;安装包体积小。JDK11 是一个长期支持版。1Java11相对于Java8的一些新特性1.变量类型推断Var关…

TCP建立连接

TCP的连接建立过程被称为三次握手:第一次握手&#xff1a;客户A的TCP向服务器B发出连接请求报文段,其首部中的同步位SYN 1 ,并选择序号seq x,表明传送| 数据时的第一 个数据字节的序号是X。第二次握手:B的TCP收到连接请求报文段后,如果同意,则发回确认。ACK1,其确认号ackx1。同…

webgl 着色器_如何使用AI,AR和WebGL着色器来帮助视障人士

webgl 着色器by Dan Ruta通过Dan Ruta 如何使用AI&#xff0c;AR和WebGL着色器来帮助视障人士 (How you can use AI, AR, and WebGL shaders to assist the visually impaired) Today, about 4% of the world’s population is visually impaired. Tasks like simple navigati…

计算机语言乍么设置,电脑如何设置语言

设置语言栏其实语言栏是用来进行输入法的切换的。当你需要在Windows中进行文字输入的时候,就需要用语言栏了,因为Windows的默认输入语言是英文,在这种情况下,你用键盘在文本里输入的文字会是英文字母,所以作为中国人的我们要想在Windows里输入中文的话,就需要语言栏的帮助了。试…

hive 初认识

结构Hive 是建立在hadoop上的数据仓库架构,它提供了一系列的工具,可以进行数据提取转换加载(这个过程叫做ETL),这是一种可以存储,查询和分析存储在hadoop中的大规模数据的机制.Hive定义了简单的类SQL查询语句 成为hql,他允许数据SQL的用户查询数据.同时 这个语言也允许数据mapr…

git使用(2)

1.远程仓库 a SSHKEY 第1步&#xff1a;创建SSH Key。在用户主目录下&#xff0c;看看有没有.ssh目录&#xff0c;如果有&#xff0c;再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件&#xff0c;如果已经有了&#xff0c;可直接跳到下一步。如果没有&#xff0c;打开Shel…

邮件中的商务英语

一、常见缩写 CC carbon copy&#xff1a;抄送 FYI for your information&#xff1a;供你参考 EOD end of the day BTW By the way&#xff1a;顺便提一下 COB close of the business 这两个词都是指下班前。需要催促某人在下班前给到回复的时候可以用用它们。 eg: Ple…

vue 横向菜单滚动定位_使用vue组件+iscroll实现一个横向菜单,不能正确滑动

使用vue组件iscroll实现一个横向菜单&#xff0c;可是却不能滑动&#xff0c;给父元素ul写死一个宽度可以滑动。但是&#xff0c;我在computed里计算宽度&#xff0c;直接路由进去不能滑动&#xff0c;当我进入别的组件(切换路由)回来又可以滑动了示例地址&#xff1a;http://o…

leetcode1353. 最多可以参加的会议数目(贪心算法)

给你一个数组 events&#xff0c;其中 events[i] [startDayi, endDayi] &#xff0c;表示会议 i 开始于 startDayi &#xff0c;结束于 endDayi 。 你可以在满足 startDayi < d < endDayi 中的任意一天 d 参加会议 i 。注意&#xff0c;一天只能参加一个会议。 请你返…

计算机组成原理实验读r1,计算机组成原理实验一

计算机组成原理实验一 (5页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;8.90 积分计算机组成原理实验计算机组成原理实验第一章、TEC-5 计算机组成实验箱简介运算器运算器74181通用寄存器通用寄存器…