参考文章:https://www.cnblogs.com/MSMXQ/p/4484348.html

需要先下载CryptoJS文件,然后引入其中的两个文件,可以在github中找到。

直接上代码

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>JS设置DES加密处理</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script src="js/rollups/tripledes.js"></script>
<script src="js/components/mode-ecb.js"></script>
<script>
//DES 解密 加密
function encryptByDES(message, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
//DES 解密 function decryptByDES(ciphertext, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
// direct decrypt ciphertext
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
</script>
<script>
//加密
function encryptStr() {
var strKey = $.trim($('#key').val());
var strMsg = $.trim($('#text1').val());
$('#text2').val(encryptByDES(strMsg, strKey));
}
//解密 function decryptStr() {
var strKey = $.trim($('#key').val());
var ciphertext = $.trim($('#text2').val());
$('#text3').val(decryptByDES(ciphertext, strKey));
}
</script>
</head> <body>
<h1>JS设置DES加密处理</h1>
<label>key</label>
<input type="text" value='12345678' id="key" />
<div>
<textarea id="text1" placeholder="请输入需要加密的字符"></textarea>
<input type="button" value="加密" onclick="encryptStr();" />
<textarea id="text2"></textarea>
<input type="button" value="解密" onclick="decryptStr();" />
<textarea id="text3"></textarea>
</div>
</body>
</html>

关于Javascript的des加密的更多相关文章

  1. JavaScript DES 加密tripledes.js:

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  2. JavaScript DES 加密

    最近做网页数据加密工作, 使用CryptoJS v3.1.2 这个JavaScript脚本,网上比较有质量的文章实在太少,经验证加密结果与Asp.net DES加密结果一致 参考文章 https:// ...

  3. DES加密解密 与 Cookie的封装(C#与js互相加密解密)

    2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)   这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方 ...

  4. 前端DES加密

    /** * DES加密/解密 * @Copyright Copyright (c) 2018 * @author mrDu * @see DESCore */ /* * encrypt the str ...

  5. javascript之传输加密

    为什么要使用javascript加密呢?服务端加密远远不够,客户端或者浏览器端也需要加密,以此保证传输信息过程的安全. 今天就我工作中说说这么几种加密算法及其对应的应用场景,如下所示: base64 ...

  6. A2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)

    这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方便: <script src="A2D.js" type=&qu ...

  7. Des加密(js+java结果一致)【原创】

    des加密算法,javascript版本和java版本 目录: 1.资源文件下载 2.JavaScript文件(des.js) 3.html文件(des.html) 4.java文件(des.java ...

  8. 对称加密——对入参进行DES加密处理

    体验更优排版请移步原文:http://blog.kwin.wang/programming/symmetric-encryption-des-js-java.html 对称加密是最快速.最简单的一种加 ...

  9. Android数据加密之Des加密

    前言: 端午节前有个同事咨询我有关Android DES加密的相关实现,简单的实现了一下,今天来总结一下. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes加密 ...

随机推荐

  1. 【PAT 甲级】1151 LCA in a Binary Tree (30 分)

    题目描述 The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has bo ...

  2. [转]SQL Server 2008 如何配置报表管理器

    本文转自:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/cc281384%28v%3dsql.100%2 ...

  3. 图解SVN的branch合并到trunk的过程

    SVN branch合并到主线的整个过程相对来说还是比较繁琐的,下面一个图揭示了一个大概的过程: 1. 将branch上的代码update到本地. 2.将branch本地的代码commit到branc ...

  4. Java - Thread 和 Runnable实现多线程

    Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式 概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过jav ...

  5. ubuntu修改ssh服务的端口号

    一.找到ssh配置文件位置 vim /etc/ssh/sshd_config 二.修改ssh登录端口号 修改 port 22 为 port xxxx 三.重启ssh服务 /etc/init.d/ssh ...

  6. POJ2186(强连通分量分解)

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 35035   Accepted: 14278 De ...

  7. 一个挺好用的生成GIF格式图片的小程序

    import os import re import imageio pic_list = os.listdir() pic_type = ['png', 'jpg', 'jpeg', 'bmp'] ...

  8. 设计模式(17)--Mediator(中介者模式)行为型

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义: 用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以 ...

  9. element-ui inputNumber、Card 、Breadcrumb组件源码分析整理笔记(三)

    inputNumber组件 <template> <!--@dragstart.prevent禁止input中数字的拖动--> <div @dragstart.preve ...

  10. ES6--JavaScript的第六个版本

    一.新的变量声明方式 let/cons 与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升. 若是对变量提升不怎么了解的话可以去参考我的其 ...