C#与java可以共用的DES加密解密
C#的DES加密与解密算法我就不写了,主要写一下怎么去解密C#用DES加密后串,大家都知道C#的DES加密密钥长度是8位的,而java是8的倍数位,所以用普通的java中的DES是不行的,要解C#的加密的串用下面的方法
- /**
- * 解密c#的des加密串
- * @param message
- * @param key
- * @return
- * @throws Exception
- */
- public static String desDncrypt(byte[] message, String key) throws Exception {
- Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
- DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
- IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
- cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
- byte[] retByte = cipher.doFinal(message);
- return new String(retByte);
- }
同理,如果java用DES加密让C#去解密呢?用以下方法加密
- public static byte[] desEncrypt(String message, String key) throws Exception {
- Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
- DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
- IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
- cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
- return cipher.doFinal(message.getBytes("UTF-8"));
- }
这样就没有问题了,快去试试吧
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/890085,如需转载请自行联系原作者
C#与java可以共用的DES加密解密相关推荐
- java 实现 DES加密 解密算法
DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...
- DES加密解密算法Java实现
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小.这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半.使用子密钥对其中一半应 ...
- java des加密类_java的DES加密解密辅助类
java的DES加密解密辅助类 package temptest; import java.io.IOException; import java.io.UnsupportedEncodingExce ...
- des加解密java c#,C#编写DES加密、解密类
这个C#类封装的DES加密解密,可以使用默认秘钥进行加密.解密,也可以自定义秘钥进行加密.解密,调用简单方便. 示例一: using System; using System.Security.Cry ...
- 在Java中使用DES加密解密算法
import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.NoSuchAlgorithmExce ...
- [转]DES加密 java与.net可以相互加密解密两种方法
[转]原文地址:http://jumpman.javaeye.com/blog/605996 DES加密 java与.net可以相互加密解密两种方法 文章分类:Java编程 通过这个方法可以实现jav ...
- java des加密解密_Java实现的DES加密解密工具类实例
本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...
- [转]JAVA与.NET DES加密解密
[转]原文地址:http://www.cnblogs.com/prince3245/archive/2010/03/23/1692630.html JAVA与.NET DES加密解密 前几天做了个项目 ...
- Java DES 加密解密
1.加密的相关概念 1.明文:被隐蔽的消息称作明文(plaintext) 2.密文:隐蔽后的消息称作密文(ciphertext) 3.加密:将明文变换成密文的过程称作加密(encryption) 4. ...
最新文章
- 腾讯研究院发布:《人工智能+制造产业发展研究》报告
- 学习笔记Hadoop(一)—— Hadoop介绍(1)——认识大数据
- 2011让人蛋疼的签名
- 构建Windows Server 2008虚拟实验室
- 如何复制图文消息封面图片?正文没显示
- 用的最多的正则表达式
- Python练习:求100以内的素数和
- Java 虚拟机学习笔记 | 类加载过程和对象的创建流程
- python错误异常处理try except Error
- linux之sed使用技巧
- win11鼠标指针如何设置 Windows11鼠标指针的设置方法
- C语言中的指针型函数值
- C++简介(5)STL
- python类的构造函数self_初学python class 注意构造函数__init__(self) | 学步园
- 高斯克吕格投影,将经纬度转换为投影坐标
- 存活探针(Liveness Probe)
- 【SpringBoot学习】35、SpringBoot 简易文件服务器
- Android安全防护之旅---只需要这几行代码让Android程序项目变得更加安全
- 计算机处理器ghz,电脑CPU的GHZ代表什么?比如1.7GHZ、2.2GHZ??
- 【音视频数据数据处理 7】【RGB/BMP篇】生成24色 RGB24图 和 BMP图