关于Android和Windows的AES问题

MMSHMA 对称密码的编程使用 最后由 icodeyou 于2016年03月28日回复

  • 1 解决
  • 1.3k 浏览

代码、密钥、原文都完全相同,在不同设备上运行的结果不同:

Windows:可以正常加解密。

Android:不能正常加解密,每一次加密的结果都不同,并且不能解密。

代码就是课程中的代码,网上的方法试过了都不能解决问题。

  • icodeyou 2016年03月28日 回答 #1楼
  • Windows我不知道你用的什么API, Android上每次加解密结果不同是正常的,因为在课程代码里面你每次都会调用一次初始化密钥的方法,而每次初始化的密钥都不会相同(显然不能相同),就造成了打印出来的密钥和密文每次运行都是不一样的;但是在同一次运行中,密文肯定可以被匹配的密钥恢复为明文。

    其实在正常使用过程中,只需要初始化密钥一次,然后把这个密钥导出成文件永久保存就好了,不能每次都进行密钥的初始化,因为每次初始化结果都是不一样的。

  • 34 评论