`

JS DES加密

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2382089

 

有一个这样的业务场景,两个不同的平台进行数据交互,一级域名提供网页消息数据,二级域名提供用户相关数据,因为涉及平台交互,所以防止JS跨域劫持,需要对前端的用户相关信息进行加密传输处理。

 

这里采用 crypto-js 进行DES加密,具体思路:前端进行用户相关信息DES加密处理后,传输给后端进行DES解密,其中对称加密的 key 需要定时刷新(比如采用Spring定时器存入Redis),所以每次提交form的时候,需要首先从Redis中取出最新的 key(可以提供一个取 key 的接口),取出 key 之后再对数据进行加密传输,传输到后台再进行进一步处理。

 

引入js

<script src="/js/crypto-js.js"></script>
<script src="/js/tripledes.js"></script>
<script src="/js/mode-ecb.js"></script>

 

编写加密函数

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();
}

 

编写获取key函数

function getDesKey() {
	var ajax = $.ajax({
		type: "POST",
		url: "/getDesKey",
		dataType: "json"
	});

	ajax.done(function(data) {
		desKey = data.key;
	});

	return ajax;
}

 

Ajax提交


 

Reference

https://github.com/brix/crypto-js

  • 大小: 18.8 KB
分享到:
评论

相关推荐

    js DES加密、解密支持中文

    在JavaScript中实现DES加密,通常会借助于一些库,例如crypto-js,这是一个非常流行的JavaScript加密库,提供了包括DES在内的多种加密算法。 在处理中文字符时,由于JavaScript字符串通常是UTF-8编码,我们需要先将...

    java和javascript之间的DES加密解密

    Java和JavaScript之间的DES加密解密是信息安全领域中的一个重要话题,主要涉及到数据的保护和通信的安全。DES(Data Encryption Standard)是一种古老的对称加密算法,尽管它在安全性上已不被视为最佳选择,但在某些...

    javascript前端DES加密,VB.NET、C#后端服务器解密

    在前端,JavaScript可以用于实现DES加密,通常通过内置的Web Cryptography API或者第三方库如CryptoJS。在后端,VB.NET和C#都有内置的加密支持,可以处理DES加密的数据。 在前端进行DES加密的过程通常包括以下步骤...

    C#版本和javascript版本的DES加密函数(注:可以交互加解密)

    因项目需要,要用js加密后,提交给C#解密,在网上找了半天,无数个版本,却不能互相使用 就随便下载了一个JS版本的,把它改写成C#版本的 这样JS加密后,C#也能解密 反之C#加密后,JS也能解密 共享给大家吧。 注:...

    JavaScript(js)打造DES加密解密,模式CBC(源代码)

    JavaScript写的DES加密解密的代码,运行模式为CBC,纯源码觉得可以运行。加密前:select item_no,item_name,price,sale_price from t_bd_item_info where item_no='00002', 加密后:V+WKfe9+DcuPpwU7mJ8krkgpztgU7...

    3DES加密js前端示例

    在JavaScript中实现3DES加密,通常需要依赖于第三方库,如`crypto-js`,这是一个流行的JavaScript加密库,提供了包括3DES在内的多种加密算法。以下是一个简单的3DES加密和解密示例: ```javascript // 引入crypto-...

    javascript DES加密解密算法

    2. 使用库:由于JavaScript原生并不支持DES算法,开发者通常会借助第三方库,如crypto-js,来实现DES加密解密功能。这些库已经封装好了DES算法的复杂逻辑,使得开发者可以方便地调用。 3. 加密和解密函数:通过调用...

    js与java des加密

    这些文件可能是实现上述 JavaScript 示例的代码,`jsDES.html` 可能包含一个网页,用于展示 JavaScript 的 DES 加密功能,而 `js` 文件可能是 JavaScript 代码本身,实现加密逻辑。 总结,JavaScript 和 Java 通过 ...

    DES加密解密JS版

    在JS版的DES加密解密中,我们可以看到JavaScript语言被用来实现这一功能,这对于Web应用中的安全通信非常有用。 DES加密过程分为以下几个步骤: 1. **初始置换**:原始的64位明文数据经过一个固定的置换表进行变换...

    crypto-js des加密对接jdk SecretKeyFactory解密

    3. `des.js`: DES加密算法的具体实现。 4. `md5.js`: MD5哈希函数,虽然不是直接用于DES,但可能是用于其他目的,如密码存储。 5. `mode-ecb.js`: ECB(Electronic Codebook)模式,这是DES的一种工作模式,其中每个...

    Javascript Des加密

    在JavaScript中实现DES加密,可以借助于一些开源库,如`crypto-js`。这个库提供了多种加密算法,包括DES。首先,你需要安装这个库,可以通过npm来完成: ```bash npm install crypto-js ``` 接着,你可以使用以下...

    常用的js加密库。MD5,AES,DES等

    本文将深入探讨在JS中常用的加密库,包括MD5、AES和DES,以及如何使用CryptoJS这个加密库来实现这些加密算法。 **MD5(Message-Digest Algorithm 5)** MD5是一种广泛使用的哈希函数,它可以将任意长度的数据转化为...

    des加密算法(js+java)js加密 java解密

    des加密算法(js+java)加密与解密结果相同 包含三个文件 : des.js des.html ,用于实现前端脚本的加密与解密 des.java 用于后台的加密解密操作; 项目中正好用到,已经过验证,两个加密解密结果相同,分享给...

    实现使用3des在页面js加密,后台java解密

    在JavaScript中,我们可以使用开源库如crypto-js来实现3DES加密。首先,你需要安装这个库,可以通过npm进行安装: ```bash npm install crypto-js ``` 然后,在代码中引入库并实现3DES加密: ```javascript var ...

    nodejs实现3des(2倍长)加密方式,与DES加密工具一致

    在Node.js中,我们可以使用内置的`crypto`模块来实现DES和3DES加密解密。下面我们将详细介绍如何操作: 1. **引入crypto模块** 首先,我们需要在项目中引入`crypto`模块。在JavaScript文件(如3des.js)中,添加...

    DES加密前端js和后台java互通代码

    在本文中,我们将深入探讨DES加密的原理以及如何在前端JavaScript和后端Java之间实现互通。 DES算法基于Feistel结构,它将明文分为左右两半进行迭代处理,通过64轮的加密过程将原始信息转化为密文。每个轮次包括一...

    DESC3.js ,前端数据DES3加密\解密

    "DESC3.js"这个文件是针对3DES加密的一个JavaScript实现,它允许前端开发者在不暴露敏感信息的情况下安全地处理数据。该库通常包括以下功能: 1. **加密功能**:将明文数据使用3DES算法转换成密文,这样在网络传输...

    js&java DES加密互通

    在JavaScript中,我们可以使用第三方库如`crypto-js`来实现DES加密。首先,需要安装这个库: ```bash npm install crypto-js ``` 然后,可以使用以下代码进行DES加密: ```javascript var CryptoJS = require(...

    JS端3DES加密JS文件.zip

    在"JS端3DES加密JS文件.zip"这个压缩包中,包含的资源用于在JavaScript端进行3DES加密解密以及Base64编码解码,同时也可以与Java(Android)端进行交互。 首先,我们来看"crypto-js.js",这是一个JavaScript库,...

Global site tag (gtag.js) - Google Analytics