WP下怎么实现AES加密

oubenruing 2013-09-25 05:48:16
如题求助,百度搜到的代码 那个salt到底是什么东西 我要疯了
...全文
420 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 24 楼 HeadmasterWang 的回复:
[quote=引用 21 楼 oubenruing 的回复:] [quote=引用 19 楼 HeadmasterWang 的回复:] AES一个Block是128bits,就是16个bytes
但是密文分块以后只能解出来第一块 =.= 我再试试 多谢了~[/quote] 你的密文是连着解的,第一次的IV是0,解密之后IV就变了。AESManaged的操作我不熟悉,但是百试百灵的办法是重新构造,就是成本比较大[/quote] 果然应该先转码再分块~~总算弄出来了 纠结死我 谢谢啦~
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 22 楼 HeadmasterWang 的回复:
[quote=引用 18 楼 oubenruing 的回复:] 解码以后只有明文的前16字 我也尝试分块密文,分了以后是前24字密文可以解出明文前16字。 但是后面的密文解出来都是乱码
就试试16bytes一组[/quote] 不对 有处理 用base64转码了一下 转码前64字节 我转码回来以后 48字节 之前是转码前分块的 我试试先转码再分块
  • 打赏
  • 举报
回复
引用 21 楼 oubenruing 的回复:
[quote=引用 19 楼 HeadmasterWang 的回复:] AES一个Block是128bits,就是16个bytes
但是密文分块以后只能解出来第一块 =.= 我再试试 多谢了~[/quote] 你的密文是连着解的,第一次的IV是0,解密之后IV就变了。AESManaged的操作我不熟悉,但是百试百灵的办法是重新构造,就是成本比较大
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 20 楼 HeadmasterWang 的回复:
[quote=引用 18 楼 oubenruing 的回复:] 如果传来的是密文我怎么分块呢。。密文大小64字节 我找到一份别人工程里的源码 解码以后只有明文的前16字 我也尝试分块密文,分了以后是前24字密文可以解出明文前16字。 但是后面的密文解出来都是乱码 密文是java 下ECB/paddingPkcs5加密的 这份源码实现的效果 应该跟CBC IV置零效果一样。。但是密码不知道怎么分额。。求教 谢谢了
你要知道对方是怎么加密的,除了加密以外用了什么填充方法,对数据有没有做什么处理[/quote] Pkcs5填充方式 没有处理。。
  • 打赏
  • 举报
回复
引用 18 楼 oubenruing 的回复:
解码以后只有明文的前16字 我也尝试分块密文,分了以后是前24字密文可以解出明文前16字。 但是后面的密文解出来都是乱码
就试试16bytes一组
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 19 楼 HeadmasterWang 的回复:
AES一个Block是128bits,就是16个bytes
但是密文分块以后只能解出来第一块 =.= 我再试试 多谢了~
  • 打赏
  • 举报
回复
引用 18 楼 oubenruing 的回复:
如果传来的是密文我怎么分块呢。。密文大小64字节 我找到一份别人工程里的源码 解码以后只有明文的前16字 我也尝试分块密文,分了以后是前24字密文可以解出明文前16字。 但是后面的密文解出来都是乱码 密文是java 下ECB/paddingPkcs5加密的 这份源码实现的效果 应该跟CBC IV置零效果一样。。但是密码不知道怎么分额。。求教 谢谢了
你要知道对方是怎么加密的,除了加密以外用了什么填充方法,对数据有没有做什么处理
  • 打赏
  • 举报
回复
AES一个Block是128bits,就是16个bytes
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 17 楼 HeadmasterWang 的回复:
[quote=引用 16 楼 oubenruing 的回复:] [quote=引用 12 楼 HeadmasterWang 的回复:] [quote=引用 11 楼 oubenruing 的回复:] [quote=引用 9 楼 BEYONDMA 的回复:] 7楼的代码可以吗?楼主给个回音呗。
七楼代码用不了。。。
引用 10 楼 HeadmasterWang 的回复:
SilverLight里面有AESManaged啊,http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.95).aspx,各个函数都很清楚
AESManaged只支持CBC模式 解不了ECB模式的加密啊 我现在要找ECB模式的。。 谢谢了,,[/quote] 把数据块掰开不就行了么?一次一个block让它跑AESManaged[/quote] AESManaged CBC模式需要初始向量 明文是用初始向量加工过的 跑出来结果肯定不对啊 [/quote] IV置零[/quote] 如果传来的是密文我怎么分块呢。。密文大小64字节 我找到一份别人工程里的源码 解码以后只有明文的前16字 我也尝试分块密文,分了以后是前24字密文可以解出明文前16字。 但是后面的密文解出来都是乱码 密文是java 下ECB/paddingPkcs5加密的 这份源码实现的效果 应该跟CBC IV置零效果一样。。但是密码不知道怎么分额。。求教 谢谢了
  • 打赏
  • 举报
回复
引用 16 楼 oubenruing 的回复:
[quote=引用 12 楼 HeadmasterWang 的回复:] [quote=引用 11 楼 oubenruing 的回复:] [quote=引用 9 楼 BEYONDMA 的回复:] 7楼的代码可以吗?楼主给个回音呗。
七楼代码用不了。。。
引用 10 楼 HeadmasterWang 的回复:
SilverLight里面有AESManaged啊,http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.95).aspx,各个函数都很清楚
AESManaged只支持CBC模式 解不了ECB模式的加密啊 我现在要找ECB模式的。。 谢谢了,,[/quote] 把数据块掰开不就行了么?一次一个block让它跑AESManaged[/quote] AESManaged CBC模式需要初始向量 明文是用初始向量加工过的 跑出来结果肯定不对啊 [/quote] IV置零
  • 打赏
  • 举报
回复
引用 14 楼 oubenruing 的回复:
[quote=引用 13 楼 HeadmasterWang 的回复:] 现在C++的AES库蛮多的,顺手拿一个来封装一下不就用了么,从WP8起已经可以用C++了
WP8的模拟器网络搞不清。。我现在用WP7的做开发。。[/quote] CBC的IV置零然后每次只跑一个block不就是ECB了吗
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 12 楼 HeadmasterWang 的回复:
[quote=引用 11 楼 oubenruing 的回复:] [quote=引用 9 楼 BEYONDMA 的回复:] 7楼的代码可以吗?楼主给个回音呗。
七楼代码用不了。。。
引用 10 楼 HeadmasterWang 的回复:
SilverLight里面有AESManaged啊,http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.95).aspx,各个函数都很清楚
AESManaged只支持CBC模式 解不了ECB模式的加密啊 我现在要找ECB模式的。。 谢谢了,,[/quote] 把数据块掰开不就行了么?一次一个block让它跑AESManaged[/quote] AESManaged CBC模式需要初始向量 明文是用初始向量加工过的 跑出来结果肯定不对啊
oubenruing 2013-10-17
  • 打赏
  • 举报
回复
引用 13 楼 HeadmasterWang 的回复:
现在C++的AES库蛮多的,顺手拿一个来封装一下不就用了么,从WP8起已经可以用C++了
WP8的模拟器网络搞不清。。我现在用WP7的做开发。。
  • 打赏
  • 举报
回复
现在C++的AES库蛮多的,顺手拿一个来封装一下不就用了么,从WP8起已经可以用C++了
  • 打赏
  • 举报
回复
引用 11 楼 oubenruing 的回复:
[quote=引用 9 楼 BEYONDMA 的回复:] 7楼的代码可以吗?楼主给个回音呗。
七楼代码用不了。。。
引用 10 楼 HeadmasterWang 的回复:
SilverLight里面有AESManaged啊,http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.95).aspx,各个函数都很清楚
AESManaged只支持CBC模式 解不了ECB模式的加密啊 我现在要找ECB模式的。。 谢谢了,,[/quote] 把数据块掰开不就行了么?一次一个block让它跑AESManaged
oubenruing 2013-10-11
  • 打赏
  • 举报
回复
引用 9 楼 BEYONDMA 的回复:
7楼的代码可以吗?楼主给个回音呗。
七楼代码用不了。。。
引用 10 楼 HeadmasterWang 的回复:
SilverLight里面有AESManaged啊,http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.95).aspx,各个函数都很清楚
AESManaged只支持CBC模式 解不了ECB模式的加密啊 我现在要找ECB模式的。。 谢谢了,,
  • 打赏
  • 举报
回复
SilverLight里面有AESManaged啊,http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged(v=vs.95).aspx,各个函数都很清楚
oubenruing 2013-10-08
  • 打赏
  • 举报
回复
引用 5 楼 91program 的回复:
http://msdn.microsoft.com/en-us/library/zhe81fz4.aspx
这个还是不很懂啊 通过使用密码和 salt 值派生密钥 比如我用java进行AES加密获得一串密文,同时得到了密钥, 我用在wp下怎么进行解码 如我贴出的代码 他的解密函数 有三个参数 密文,密钥,salt 完全糊涂 有只需要密文密钥就能解密的办法吗、、 十分感谢~
beyondma 2013-10-08
  • 打赏
  • 举报
回复
7楼的代码可以吗?楼主给个回音呗。
oubenruing 2013-10-08
  • 打赏
  • 举报
回复
引用 7 楼 blackant2 的回复:
不知道windows phone 中有没有Rijndael AES应该是Rijndael的一个子集 你的java加密没有样本,但是只有一个key和密文给你让你去解,可以不需要state 如果我估计的没错,应该可以直接使用ECB模式解出来 代码可能如下例,祝好运

            SymmetricAlgorithm sa = Rijndael.Create();
            sa.Key = key;
            sa.Mode = CipherMode.ECB;
            sa.Padding = PaddingMode.Zeros;
            ICryptoTransform ct = sa.CreateDecryptor();
            byte[] byt = Convert.FromBase64String(strSource);
            MemoryStream ms = new MemoryStream(byt);
            CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Read);
            StreamReader sr = new StreamReader(cs, Encoding.Unicode);
            return sr.ReadToEnd();
问题就是WP下没有Rijndael了。。。。。蛋疼 谢谢
加载更多回复(6)

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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