1.des是对称加密,可以加密解密

public class InfoMation {//算法密匙private static final byte[] DES_KEY = {11, 21, 1, -110, 82, -32, -85, -128, -65 ,44,-2};  /** * 数据加密,算法(DES) * * @param data *            要进行加密的数据 * @return 加密后的数据 */  public static String encryptBasedDes(String data) {  String encryptedData = null;  try {  // DES算法要求有一个可信任的随机数源  SecureRandom sr = new SecureRandom();  DESKeySpec deskey = new DESKeySpec(DES_KEY);  // 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象  SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");  SecretKey key = keyFactory.generateSecret(deskey);  // 加密对象  Cipher cipher = Cipher.getInstance("DES");  cipher.init(Cipher.ENCRYPT_MODE, key, sr);  // 加密,并把字节数组编码成字符串  encryptedData = new sun.misc.BASE64Encoder().encode(cipher.doFinal(data.getBytes()));  } catch (Exception e) {
//            log.error("加密错误,错误信息:", e);  加密后UpSbNP/AeM5AfGnWB21HZQ== UpSbNP/AeM5AfGnWB21HZQ==throw new RuntimeException("加密错误,错误信息:", e);  }  return encryptedData;  }  /*** 解密* @param cryptData* @return*/public static String decryptBasedDes(String cryptData) {  String decryptedData = null;  try {  // DES算法要求有一个可信任的随机数源  SecureRandom sr = new SecureRandom();  DESKeySpec deskey = new DESKeySpec(DES_KEY);  // 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象  SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");  SecretKey key = keyFactory.generateSecret(deskey);  // 解密对象  Cipher cipher = Cipher.getInstance("DES");  cipher.init(Cipher.DECRYPT_MODE, key, sr);  // 把字符串解码为字节数组,并解密  decryptedData = new String(cipher.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(cryptData)));  } catch (Exception e) {
//            log.error("解密错误,错误信息:", e);  throw new RuntimeException("解密错误,错误信息:", e);  }  return decryptedData;  }  public static void main(String[] args) {String str1="12014-11-15";// DES数据加密
//        String s1=encryptBasedDes(str);String s1=encryptBasedDes(str1);System.out.println("加密后"+s1);  // DES数据解密  String s2=decryptBasedDes(s1);  System.err.println("解密后"+s2);  }}

java DES 加密相关推荐

  1. Java DES 加密解密

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

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

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

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

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

  4. java des 加密 字符串_Java使用DES加密字符串

    Java使用DES加密字符串 编号:A3GS_TJ20100108004 描述: 本文讲述了如何在Java下使用DES加密字符串. 例子: NO 技术实现: 导入包: import java.io.U ...

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

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

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

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

  7. java des加密与js解密

    java代码:import java.io.IOException; import java.security.SecureRandom;import javax.crypto.Cipher; imp ...

  8. java des 加密 单倍长_明明白白使用DES加密算法

    DES加密算法在很多行业都有着非常广泛的应用,对于初学者,开始很容易被ECB.CBC以及计算MAC搞得困惑不已,下面我将一一介绍这几者之间的关系,希望对新人有帮助.为了易于表述,下面所有的密钥及数据都 ...

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

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

  10. Java Des加密解密工具类

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

最新文章

  1. vscode+MinGW+cmake设置轻量ide
  2. centos安装JDK与Tomcat
  3. elasticsearch最大节点数_ElasticSearch这些概念要明白
  4. centos找不到环境变量 -bash: ls: command not found(亲测)
  5. 豆瓣评论9.5的《Effective Python》,帮你解决80%难题!
  6. oracle 试图访问已经在使用的事物处理临时表,解决ORA-14450:试图访问已经在使用的事务处理临时表...
  7. 芒果超媒:子公司与咪咕文化签署合作框架协议
  8. 华为招聘公关总监:接触近10位路透资深记者 年薪高达20万美元
  9. Android XML的操作(SAX)
  10. ios备忘录下载安卓版_iOS8备忘录
  11. 【Python】如何用Python快速实现语音提醒功能
  12. iOS 初中级工程师简历指北
  13. Windows10环境下自己配置Pytracking详细流程(有参考博客)
  14. 苹果电子邮件怎么注册_忘记了Apple ID账号密码怎么办?超全攻略,帮你解决问题...
  15. shell空文件夹查找
  16. nginx限制指定ip访问
  17. 解决win10莫名其妙重启问题
  18. 【产业互联网周报】任正非再谈“云战略”;上汽集团进军芯片产业;Salesforce 2021财年净利润40.72亿美元...
  19. node.js ajax语法
  20. Protobuf是什么?

热门文章

  1. 希望所有计算机专业同学都知道这些老师
  2. can--saj1000设计总结(转)
  3. STM32学习笔记-SMT32使用HAL库UART中断方式使用
  4. 医用电缆 medical cable
  5. 带linux系统的arm开发板配置无线网络遇到的问题
  6. 反渗透设备:反渗透设备工艺先进
  7. unity2D横版游戏教程-2 代码实现
  8. ETC电子发票台账工(生成Excel报表)
  9. VisualFreeBasic的pcre/pcre2正则表达式修复
  10. 攻防世界web新手关之xff_referer