C#的DES加密与解密算法我就不写了,主要写一下怎么去解密C#用DES加密后串,大家都知道C#的DES加密密钥长度是8位的,而java是8的倍数位,所以用普通的java中的DES是不行的,要解C#的加密的串用下面的方法

  1. /**
  2. * 解密c#的des加密串
  3. * @param message
  4. * @param key
  5. * @return
  6. * @throws Exception
  7. */
  8. public static String desDncrypt(byte[] message, String key) throws Exception {
  9. Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
  10. DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
  11. SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  12. SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
  13. IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
  14. cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
  15. byte[] retByte = cipher.doFinal(message);
  16. return new String(retByte);
  17. }

同理,如果java用DES加密让C#去解密呢?用以下方法加密

  1. public static byte[] desEncrypt(String message, String key) throws Exception {
  2. Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
  3. DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
  4. SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  5. SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
  6. IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
  7. cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
  8. return cipher.doFinal(message.getBytes("UTF-8"));
  9. }

这样就没有问题了,快去试试吧

本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/890085,如需转载请自行联系原作者

C#与java可以共用的DES加密解密相关推荐

  1. java 实现 DES加密 解密算法

    DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...

  2. DES加密解密算法Java实现

    DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小.这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半.使用子密钥对其中一半应 ...

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

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

  4. des加解密java c#,C#编写DES加密、解密类

    这个C#类封装的DES加密解密,可以使用默认秘钥进行加密.解密,也可以自定义秘钥进行加密.解密,调用简单方便. 示例一: using System; using System.Security.Cry ...

  5. 在Java中使用DES加密解密算法

    import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.NoSuchAlgorithmExce ...

  6. [转]DES加密 java与.net可以相互加密解密两种方法

    [转]原文地址:http://jumpman.javaeye.com/blog/605996 DES加密 java与.net可以相互加密解密两种方法 文章分类:Java编程 通过这个方法可以实现jav ...

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

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

  8. [转]JAVA与.NET DES加密解密

    [转]原文地址:http://www.cnblogs.com/prince3245/archive/2010/03/23/1692630.html JAVA与.NET DES加密解密 前几天做了个项目 ...

  9. Java DES 加密解密

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

最新文章

  1. 腾讯研究院发布:《人工智能+制造产业发展研究》报告
  2. 学习笔记Hadoop(一)—— Hadoop介绍(1)——认识大数据
  3. 2011让人蛋疼的签名
  4. 构建Windows Server 2008虚拟实验室
  5. 如何复制图文消息封面图片?正文没显示
  6. 用的最多的正则表达式
  7. Python练习:求100以内的素数和
  8. Java 虚拟机学习笔记 | 类加载过程和对象的创建流程
  9. python错误异常处理try except Error
  10. linux之sed使用技巧
  11. win11鼠标指针如何设置 Windows11鼠标指针的设置方法
  12. C语言中的指针型函数值
  13. C++简介(5)STL
  14. python类的构造函数self_初学python class 注意构造函数__init__(self) | 学步园
  15. 高斯克吕格投影,将经纬度转换为投影坐标
  16. 存活探针(Liveness Probe)
  17. 【SpringBoot学习】35、SpringBoot 简易文件服务器
  18. Android安全防护之旅---只需要这几行代码让Android程序项目变得更加安全
  19. 计算机处理器ghz,电脑CPU的GHZ代表什么?比如1.7GHZ、2.2GHZ??
  20. 【音视频数据数据处理 7】【RGB/BMP篇】生成24色 RGB24图 和 BMP图

热门文章

  1. Exchange2007中创建和访问公用文件夹
  2. 创建文档库时指定文件夹(路径)
  3. 大数据笔记2019.5.8
  4. shadow fight 1.6.0 内购
  5. 接口自动化框架(java)--2.接口用例POST请求,参数配置
  6. SpringBoot初体验
  7. Django学习笔记之Django QuerySet的方法
  8. 【MVVM Light】新手初识MVVM,你一看就会
  9. Tricks(四十九)—— 按 batch 访问越界的解决办法
  10. 最近的C语言编程错误小结