AES加密问题 C版本和C#版本通用的问题

kevin083916 2012-11-28 05:34:44
现在我又了C版本和C#版本的AES加密,可是这两个算法加密结果不一样,求各位大神有木有C和C#加密结果相同的代码啊,麻烦发一份,谢谢,邮箱humingzhen888@163.com
...全文
207 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin083916 2012-12-10
  • 打赏
  • 举报
回复
传出的时候用stringbuilder解决的,并显示的表明[out]就可以了,结账了。。。。。
jwh2004 2012-11-30
  • 打赏
  • 举报
回复
传参的时候2个软件可以用固定长度的char数组发和收。
kevin083916 2012-11-30
  • 打赏
  • 举报
回复
引用 3 楼 SocketUpEx 的回复:
算法应该是通用的 如果你做不了 可以用C写DLL给C#调用
我把C和C#里面的函数调用给粘一下吧, C函数 //key是密钥,plainText是要传入的明文,cipherText是C#要接收的密文 int AESenc(char *key, char *plainText, char *cipherText)// C#调用 [DllImport("aes.dll", CharSet = CharSet.Ansi)] //PlainText是预先定义好的明文,cipherText是经过初始化过的StringBuilder public static extern int AESenc(string key, StringBuilder PlainText, [Out]StringBuilder cipherText); 代码就是这样,可是接收到的cipherText总是不正确的(能接收到但是不正确),求大神帮忙解决
kevin083916 2012-11-30
  • 打赏
  • 举报
回复
引用 3 楼 SocketUpEx 的回复:
算法应该是通用的 如果你做不了 可以用C写DLL给C#调用
好,现在问题来了,C写的Dll也写好了,也能加载进C#,但是C写的函数里需要传入char类型的明文,C#要得到char类型的加密过的密文,C#也可以接收到,可是得不到正确的结果,大神这怎么解决
风吹腚腚凉 2012-11-30
  • 打赏
  • 举报
回复
我就知道C和C#编译顺序不一样。
SocketUpEx 2012-11-30
  • 打赏
  • 举报
回复
算法应该是通用的 如果你做不了 可以用C写DLL给C#调用
kevin083916 2012-11-30
  • 打赏
  • 举报
回复
高手哪里去了都。。。呜呜
kevin083916 2012-11-29
  • 打赏
  • 举报
回复
有木有高手帮忙给解决下啊,或者给个dll也行啊。。。

110,536

社区成员

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

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

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