C#对AES解密,关于偏移量的问题

蔬菜工程师 2015-01-20 09:45:09
[size=13px]以下是java开发的AES加密,因为是CBC模式的加密,必须有偏移量,但是现在要用C#解密。
请问下面java的代码,这个偏移量 cipher.getBlockSize() 是什么,用C#怎么写?


Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(2, skeySpec, new IvParameterSpec(
new byte[cipher.getBlockSize()]));
byte[] decrypted = cipher.doFinal(encrypted);
return decrypted;
[/size]
...全文
991 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
蔬菜工程师 2015-02-27
  • 打赏
  • 举报
回复
后来自己研究了一下,最后发现他们的偏移量转换成二进制数组后是{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},我将C#代码解密的偏移量也设置为这样就可以对他们加密的密文进行解密了。
蔬菜工程师 2015-01-20
  • 打赏
  • 举报
回复
引用 1 楼 clxcxx 的回复:
不用管偏移量,加密后、解密前Base64下,正常操作就行。约定好算法。
现在问题是我需要对java那边的加密进行解密,如果不知道偏移量,我C#写的程序是解密不了的。
格拉 2015-01-20
  • 打赏
  • 举报
回复
不用管偏移量,加密后、解密前Base64下,正常操作就行。约定好算法。
winnowc 2015-01-20
  • 打赏
  • 举报
回复
IV 叫做初始向量,不是叫偏移量吧。这里的block size是16,它相当于用了一个16字节的0当作IV了。.net上解密也就是把IV设置成16字节的0数组就可以了。

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧