java代码:import java.io.IOException;
import java.security.SecureRandom;import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;/*** DES加密 解密算法** @author zhou biao* @date 2019-2-17 上午10:12:11*/
public class DesUtils {private final static String DES = "DES";//方式private final static String ENCODE = "UTF-8";//编码private final static String defaultKey = "73961011";//8的倍数秘钥public static void main(String[] args) throws Exception {String data = "测试";// System.err.println(encrypt(data, key));// System.err.println(decrypt(encrypt(data, key), key));System.out.println(encrypt(data));System.out.println(decrypt(encrypt(data)));}/*** 使用 默认key 加密** @return String* @author lifq* @date 2015-3-17 下午02:46:43*/public static String encrypt(String data) throws Exception {byte[] bt = encrypt(data.getBytes(ENCODE), defaultKey.getBytes(ENCODE));String strs = new BASE64Encoder().encode(bt);return strs;}/*** 使用 默认key 解密** @return String* @author lifq* @date 2015-3-17 下午02:49:52*/public static String decrypt(String data) throws IOException, Exception {if (data == null)return null;BASE64Decoder decoder = new BASE64Decoder();byte[] buf = decoder.decodeBuffer(data);byte[] bt = decrypt(buf, defaultKey.getBytes(ENCODE));return new String(bt, ENCODE);}/*** Description 根据键值进行加密** @param data* @param key*            加密键byte数组* @return* @throws Exception*/public static String encrypt(String data, String key) throws Exception {byte[] bt = encrypt(data.getBytes(ENCODE), defaultKey.getBytes(ENCODE));String strs = new BASE64Encoder().encode(bt);return strs;}/*** Description 根据键值进行解密** @param data* @param key*            加密键byte数组* @return* @throws IOException* @throws Exception*/public static String decrypt(String data, String key) throws IOException,Exception {if (data == null)return null;BASE64Decoder decoder = new BASE64Decoder();byte[] buf = decoder.decodeBuffer(data);byte[] bt = decrypt(buf, key.getBytes(ENCODE));return new String(bt, ENCODE);}/*** Description 根据键值进行加密** @param data* @param key*            加密键byte数组* @return* @throws Exception*/private static byte[] encrypt(byte[] data, byte[] key) throws Exception {// 生成一个可信任的随机数源SecureRandom sr = new SecureRandom();// 从原始密钥数据创建DESKeySpec对象DESKeySpec dks = new DESKeySpec(key);// 创建一个密钥工厂,然后用它把DESKeySpec转换成SecretKey对象SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);SecretKey securekey = keyFactory.generateSecret(dks);// Cipher对象实际完成加密操作Cipher cipher = Cipher.getInstance(DES);// 用密钥初始化Cipher对象cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);return cipher.doFinal(data);}/*** Description 根据键值进行解密** @param data* @param key*            加密键byte数组* @return* @throws Exception*/private static byte[] decrypt(byte[] data, byte[] key) throws Exception {// 生成一个可信任的随机数源SecureRandom sr = new SecureRandom();// 从原始密钥数据创建DESKeySpec对象DESKeySpec dks = new DESKeySpec(key);// 创建一个密钥工厂,然后用它把DESKeySpec转换成SecretKey对象SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);SecretKey securekey = keyFactory.generateSecret(dks);// Cipher对象实际完成解密操作Cipher cipher = Cipher.getInstance(DES);// 用密钥初始化Cipher对象cipher.init(Cipher.DECRYPT_MODE, securekey, sr);return cipher.doFinal(data);}
}

//前端js解密

下载crypto-js.js

下载地址:https://www.npmjs.com/package/crypto-js

在项目引用

//DES 加密 key与后端一样的秘钥(8的倍数)   message(值)
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 ciphertextvar 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);
}

java des加密与js解密相关推荐

  1. Java DES 加密解密

    1.加密的相关概念 1.明文:被隐蔽的消息称作明文(plaintext) 2.密文:隐蔽后的消息称作密文(ciphertext) 3.加密:将明文变换成密文的过程称作加密(encryption) 4. ...

  2. js des加密 java_java JS DES互相加密解密 通用!!!

    如果 出现 异常 javax.crypto.IllegalBlockSizeException 那就看我博客园的 另外一篇  解决这个异常 帮客户整了1天 试了N个JS 的方法 终于找我弄出来了! j ...

  3. java des加密解密_JAVA和c# 之间数据通讯时通过DES进行加密解密

    c#开发前端时调用java开发的接口,需要数据加密后通讯.两边都需要同时通过DES(BASE64)进行加解密. 代码如下 c#端: 加密 public static String Encrypt(St ...

  4. java des加密类_java的DES加密解密辅助类

    java的DES加密解密辅助类 package temptest; import java.io.IOException; import java.io.UnsupportedEncodingExce ...

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

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

  6. java des加密解密_DES加密和解密的JAVA实现方式

    import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import ...

  7. java des 加密工具的使用,Java中DES加密解密工具类的实现实例

    这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...

  8. Java Des加密解密工具类

    原文链接: 1.http://www.java2s.com/Code/Java/Security/EncryptingaStringwithDES.htm 2.http://www.avajava.c ...

  9. Java 前端加密传输后端解密以及验证码功能

    1. 加密解密 1.1 前端js加密概述 对系统安全性要求比较高,那么需要选择https协议来传输数据.当然很多情况下一般的web网站,如果安全要求不是很高的话,用http协议就可以了.在这种情况下, ...

最新文章

  1. 10道海量数据处理的面试题
  2. 理解Hinge Loss (折页损失函数、铰链损失函数)
  3. Visual Studio 2015编译Lua 5.3.4遇到的坑
  4. 004_Redis的String数据类型
  5. java tree类子项的添加和删除_使用Java实现二叉树的添加,删除,获取以及遍历...
  6. 多人姿态识别框架——AlphaPose
  7. Linux中变量#,@,0,1,2,*,$$,$?的意思
  8. 测量学—误差理论与测量平差基础
  9. 编码格式转换--常见编码间的转换以及中文简繁互换
  10. EXTJS资源库管理平台 2013.5.26-在线制作头像
  11. 毕业设计之路(6)——uip
  12. 操作Oracle类型CLOB和BLOB
  13. Siri, Alexa, Cortana, 为什么所有的语音助手都是“她”?
  14. 架构就是bull shit
  15. node.js Stream(流) 和 EJS 模板引擎——0822
  16. 【新闻解读2019年】四分类不能准确区分所有垃圾 市民建议用更直白的名称
  17. 戴维斯双击背后的故事 - 读《戴维斯王朝》
  18. 【记录】Java 设置Excel数据有效性
  19. Revit API:预制零件 Fabrication Part
  20. 产品经理设计产品流程都有哪些步骤

热门文章

  1. CSS 伪类: 什么是 CSS 伪类?CSS 伪类怎么分类? CSS 伪类有哪些?以及分类对应的伪类
  2. wifidog android认证,wifidog+authpuppy认证页面的配置
  3. Layui的行内数据的获取
  4. OSChina 周五乱弹 —— 拿着遣散费做个浪漫人
  5. xinxin -制作网页
  6. trie(字典树、前缀树)
  7. trie php,php-优化Trie实现
  8. 3.7V锂电池供电系统设计(含充电、保护、供电及电源切换电路器件选型和原理图)
  9. 人渣scum服务器物品,人渣SCUM有哪些食物 人渣SCUM采集物品一览
  10. window cocoscreator 单双显界面不见问题