体验更优排版请移步原文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)

转载于:https://www.cnblogs.com/kaidarwang/p/7563450.html

对称加密——对入参进行DES加密处理相关推荐

  1. java socket 加密,Java socket通信实现DES加密与解密

    DES是对称加密算法的其中一个,用一个密钥进行加密解密数据,安全性能比较低,效率较高,一些不太重要的数据可以使用DES加密算法进行加密解密传输,其他的3DES与AES用法类似. 流程图 首先认真看一下 ...

  2. linux下des加密命令,linux下的DES加密

     linux下的DES加密 des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED 都是用于DES快速加密 调用格式 #include ...

  3. java des加密解密_Java实现的DES加密解密工具类实例

    本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...

  4. des加密解密 代码 java_java 实现DES 加密解密的示例

    package com.cn.peitest; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.cryp ...

  5. php des加密解密 16位,php DES加密解密的代码一例

    /** * php des加密与解密 * by http://www.jbxue.com */ function do_mencrypt($input, $key) { $input = str_re ...

  6. DES加密工具类-DesUtil

    有一个功能要将拍照的图片进行加密保存,选择了DES加密.记录一下代码. import java.security.Key; import javax.crypto.Cipher; import jav ...

  7. Java实现DES加密解密(对称式)

    原文:https://blog.csdn.net/gs12software/article/details/83899389 对称式加密:就是加密和解密都是使用同一个密钥,如DES加密 非对称式加密: ...

  8. 【计算机网络】网络安全 : 对称密钥密码体质 ( 数据加密标准 DES | DES 加密过程 | DES 保密性 | 三重 DES 加密 )

    文章目录 一. 对称密钥密码体质 二. 数据加密标准 DES 三. DES 加密过程 四. DES 保密性 五. 三重 DES 加密 一. 对称密钥密码体质 对称密钥密码体质 : 又称为 常规密钥密码 ...

  9. des加密去掉特殊字符_对称加密中的数据填充

    如 AES,DES 一类的分组对称加密算法要求明文数据的字节长度必须是其块大小的倍数,因此在加密明文数据之前我们必须对明文数据进行填充. 概述 在分组对称加密算法中,我们通常在加密之前在明文数据的末尾 ...

最新文章

  1. 赠书 | 新手指南——如何通过HuggingFace Transformer整合表格数据
  2. 复数类完整实现 + 四则运算符重载
  3. 为什么jupyterlab运行程序的时候会自动停止_搭建 Julia 轻量级编写环境(VSCode,JupyterLab)
  4. Net性能分析与调试培训资料
  5. 走进移动支付:开启物联网时代的商务之门
  6. 使用AspectJ审计Spring MVC Webapp。 第1部分
  7. AS3读取XML文档
  8. 目前微型计算机中常用的鼠标器有什么两类,2009年计算机一级考试真题及答案...
  9. unix linux 安装mono,关于mono在linux连接unixodbc的问题
  10. 建模与仿真matlab论文,基于MATLAB的无线信道建模与仿真.doc
  11. ansys 如何截取高清的网格图
  12. Masked Autoencoders Are Scalable Vision Learners (MAE)
  13. Auto.jsMIUI小米手机锁屏界面无法上滑输入密码解锁的问题 以及如何输入密码进行解锁
  14. 公共关系礼仪实务章节测试题——公共关系的类型(六)
  15. 关于三角形的心及费马点
  16. 推荐几个美女和年薪百万大佬的公众号!
  17. 计算机网络应用层(二):DNS协议详解
  18. python3 beautifulsoup配合requests下载老司机图片
  19. Invalid data found when processing input
  20. 漫步微积分二十——微分和切线逼近

热门文章

  1. PS5穿越云层3D文字
  2. flaash-ACC_LSMOOTH2: Cannot continue with smoothing calculation
  3. python简单编程语言_功能强大而又简单易学的编程语言Python
  4. gdi按钮重绘背景黑色_PS快速抠图换背景教程 PS怎么抠图放在另一张图 这个方法简单万能...
  5. python字典去最值_python 比较字典value的最大值的几种方法
  6. nullptr was not declared怎么解决_剑桥少儿英语考试语法怎么学?一套《Grammer Friends和语法做朋友》:这样学语法,孩子学得会、记得住!...
  7. linux el5 el6 区别,Oracle ACFS Support on Linux詳解
  8. 微型计算机的发展通常以为技术指标,计算机组成原理期末复习题.doc
  9. php switch换界面,php switch的“高级”用法详解
  10. mysql %3c%3e sql优化_SQL注入技术和跨站脚本攻击的检测(2)