对称加密——对入参进行DES加密处理
体验更优排版请移步原文:http://blog.kwin.wang/programming/symmetric-encryption-des-js-java.html
对称加密是最快速、最简单的一种加密方式,加密和解密共用一个对称秘钥,因其高效性,被广泛应用在加密协议中。今天恰巧用到,在此总结一下。
我们项目中需要在前端js里对入参进行DES加密传入后台,后台java再进行解密,网上找了一个谷歌的DES加密js包crypto-js,点此下载
下载完成之后找到两个js文件引入项目工程中,
|
1
2
|
<script type="text/javascript" src="libs/crypto/tripledes.js" ></script>
<script type="text/javascript" src="libs/crypto/mode-ecb.js" ></script>
|
js中对params(json对象)加密:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function encryptParamsByDES(params, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key),
desParams = {};
if(!params || JSON.stringify(params) == '{}'){
return {};
}else{
$.each(params, function(i, val) {
var desVal = CryptoJS.DES.encrypt(val, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
desParams[i] = desVal.toString();
});
return desParams;
}
}
console.log(encryptParamsByDES({name: 'test', password: '123456'}, 'kwinwang'));
|
将对称秘钥设置为kwinwang,测试加密输出:
Object {name: “r5vQ2jNkBsc=”, password: “nqp+WDNwUFw=”}
前端加密就完成了,我们再用java尝试解密,
|
1
2
3
4
5
6
|
public static void main(String[] args) throws Exception {
String decName = DESUtil.decryption("r5vQ2jNkBsc=", "kwinwang");//解密name
String decPassword = DESUtil.decryption("nqp+WDNwUFw=", "kwinwang");//解密password
System.out.println("明文name:" + decName);
System.out.println("明文password:" + decPassword);
}
|
执行main方法,控制台输出:

后台解密成功!简直不敢相信,但就是这么简单。
附件下载:DESUtil工具类(Java)
对称加密——对入参进行DES加密处理的更多相关文章
- jmeter对接口测试入参进行MD5加密的5种方式
在使用jmeter做测试的过程中,经常需要对请求的入参进行加密,下面列举几种常用的方法,以登录请求密码需要MD5加密为例. 虽然可以先把参数化的明文密码都先md5加密,而不是在登录前先执行加密,但是实 ...
- app逆向万能的md5加密hook破解入参方法(其他加密用通用方法原理差不多,小白推荐)
一.原理 安卓开发调用md5加密时候都会调用到系统类java.security.MessageDigest 加密时候会会调用里面2个关键方法update以及digest 根据这个原理我们开始写代码吧 ...
- DES加密
接口等加密字段 import java.security.SecureRandom; import javax.crypto.Cipher;import javax.crypto.SecretKey; ...
- Python实现基于DES加密源码的文本加密器
这是自行制作的一个DES文本加密工具 最终效果图: 本加密器支持UTF-8字符的加解密(包含中文),由于其中的编码方式与常用编码方式不同,加密结果与网上工具不同,但是能实现正常加解密. 最终目标: 目 ...
- .Net使用DES加密,.Net和java分别解密,并正则匹配替换加密密码为明文
在VS中用WindowsApplication做一个exe程序,用来给数据库密码加密,加密代码如下 private void generateBtn_Click(object sender, Even ...
- Python Des加密与解密实现软件注册码、机器码
原理 判断路径下是否存在识别文件,若存在就解密对比,若不存在就进入机器码注册: 获取系统C盘序列号作为识别ID,并添加随机数作为混淆,生成最终机器码. 将机器码发给软件开发者,开发者将机器码解密后,添 ...
- 【DES加密解密】 C#&JAVA通用
DES加密解密 C# Code /// <summary> /// DES加密解密帮助类 /// </summary> public static class DESHelpe ...
- php中des加密解密 匹配C#des加密解密 对称加密
原文:php中des加密解密 匹配C#des加密解密 对称加密 网上找来的 php des加密解密 完全匹配上一篇C# 字符串加密解密函数 可以用于C#和php通信 对数据进行加密,其中$key 是 ...
- 对称加密DES加密
DES加密: des是对称加密,加密和解密需要相同的秘钥,它的密码最长56位,必须是8的倍数,秘钥越长,越安全. package com.trm.util.encrypt; import java.s ...
随机推荐
- 数据库备份mysqldump
|--好友说:有些知识就是石头,走上这条路就没法绕过,就是牙齿啃碎了也要把它啃下来. ------------------------------------------ 针对当前备份做一个总结记忆: ...
- 新手向——关于Python3.5在Windows 10 系统下发布模块的终极讲解
博主自己在发布Python模块的时候也是摸索了好久啊,因为跟着书上写的步骤一步一步来终究会跪的节奏有木有啊!!!几经波折终于搞出来了,贴下来与诸君共勉.之前的步骤相信大家都已经知道了,那我们就直接跳过 ...
- My Reading List - Machine Learning && Computer Vision
本博客汇总了个人在学习过程中所看过的一些论文.代码.资料以及常用的资源与网站,为了便于记录自身的学习过程,将其整理于博客之中. Machine Learning (1) Machine Learnin ...
- PCA最小平方误差理论推导
PCA最小平方误差理论推导 PCA求解其实是寻找最佳投影方向,即多个方向的标准正交基构成一个超平面. 理论思想:在高维空间中,我们实际上是要找到一个d维超平面,使得数据点到这个超平面的距离平方和最小 ...
- 关于ehcache缓存的使用(简单对比redis)
前言 最近在做一个项目,某个接口查询数据到返回数据总计需要7000+毫秒,一直在考虑优化的问题,优化也有原来的一家一家查询到一次查询所有的,在查询不同天数.结果是1500+,虽然优化了不少,但是数据结 ...
- hbase单机及集群安装配置,整合到hadoop
问题导读:1.配置的是谁的目录conf/hbase-site.xml,如何配置hbase.rootdir2.如何启动hbase?3.如何进入hbase shell?4.ssh如何达到互通?5.不安装N ...
- 《DSP using MATLAB》示例9.2
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- python模块--config
一.创建文件 ##-----------------创建数据表-------------------------- import configparser config = configparser. ...
- python模块--随机模块
import random print(random.random()) # 随机产生一个(0,1)的 float 0.026244299361600776 print(random.randint( ...
- Unit02: 参数值注入 、 基于注解的组件扫描
Unit02: 参数值注入 . 基于注解的组件扫描 (4)IOC (Inversion Of Controll 控制反转) 什么是IOC? 对象之间的依赖关系由容器来建立. 什么是DI? (Depen ...