C#与JAVA的DES加密解密 20

C#有相关类实现DES加密解密。若要实现加密解密,需要传递三个参数:明文,密钥(长度必须为8),初始化向量(长度必须为8)。JAVA也有相关类实现DES加密解密,但是JA... C#有相关类实现DES加密解密。若要实现加密解密,需要传递三个参数:明文,密钥(长度必须为8),初始化向量(长度必须为8)。JAVA也有相关类实现DES加密解密,但是JAVA里面却没有“初始化向量”的概念。我尝试在C#里为初始化向量设置不同值——包括让初始化向量与密钥相同、令初始化向量全0等——但是加密结果都和JAVA加密结果大不一样。结果,我C#加密的字符串只能用回C#解密。但是,现在我需要的是C#加密,JAVA解密!加密解密算法都是DES算法。

请问各位,该如何实现呢?谢谢大家!
网上有很多C#加密解密的方法.其实,如果加密和解密都是用C#完成的话,将非常容易.但问题是,现在需要的是C#加密,然后JAVA解密.JAVA里面的加密解密对象,是没有"初始化向量"的概念的.C#里面则必须提供初始化向量.初始化向量不同,密文就不同.本人不知应如何设置"初始化向量".试过好几个设置,加密之后密文都和JAVA加密的不同(JAVA加密也没有"初始化向量"的概念).密文不同,自然JAVA的解密工作就无法正常执行了.
展开
 我来答
刚强还静谧灬瑰宝5950
2009-06-24 · TA获得超过744个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:444万
展开全部
本来就是没有初始化向量这个东西。。。。。可能是C#运行自己提供P盒或者S盒,而java使用ANSI默认的P盒和S盒了。。。你得去看C#的文档说明。。

加密过程本来就是只需要明文和密钥,C#估计只是多给一个参数罢了。。。看看文档去

###################################
什么叫“初始化向量”?我记得上密码学的时候DES里面没有这个概念~~~

DES算法流程就是固定的。可变的只有P盒和S盒。不知道你说的“初始化向量”是不是S盒

加密和解密只是密钥扩展的顺序颠倒,其他算法完全一样。

P盒不是保密的,S盒设计方式保密但是可以在网上美国安全局网站上找到设计好的S盒。

如果你说真有什么“初始化向量”,那可能你用的是前向反馈模式产生序列密码,不过这样的话,保持相同的初始向量也是可能的啊。估计是你程序写的问题。。。而且这样安全性可能你没有办法考证吧。。。

还有。。。你没有搞错吧。。。DES是64位的。。。。你用8位能搞什么。。。

还有。。看样子你是用C#自带的工具来加密的。。。DES概念里面确实没有什么“初始化向量”,具体怎么搞你找密码学的书看看吧。。。

还有一点。。。。是不是C#里面可以选择轮迭次数???默认是16次,还有你要看好是DES还是3DES。
Foxcoming
2009-06-23 · TA获得超过692个赞
知道小有建树答主
回答量:718
采纳率:0%
帮助的人:811万
展开全部
标准DES算法采用约定的向量1计算,默认情况下,C#和Java的向量是相同的。
如果是结果不一致,可能是补位等算法造成的。检查一下算法的详细设置,设置成一样的就行了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2009-06-23 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4396万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式