我已经阅读了许多关于 AES、CommonCryptor、salt 和 MAC 的帖子和资源,以寻找解决我在发布移动软件库时遇到的问题的方法。我想使用自定义 URL 方案通过 HTML 和 JavaScript 在 WebView 中将加密字符串传递给我的 iPhone 和 Android 应用程序,并将字符串作为参数。HTML 文件将在我的站点上创建,然后分发给用户以存储在他们的 Web 服务器上。
根据我所阅读的内容,我将使用密钥对 HTML 文件中的字符串进行加密,然后再将其分发给用户。然后相同的密钥将存储在库中并用于解密字符串。但是,如果有人反编译我的应用程序,他们将拥有密钥并能够解密存储在分布式 HTML 文件中的字符串。我知道这个库可以很容易地反编译,但是提供字符串和代码真的是放弃它。真正的危险是,人们可以使用 HTML 文件在我的库的被黑版本中触发恶意行为。
我真的不想打电话给我的网站来获取密钥或盐,我不确定这会提供任何保护。与库中的密钥一起存储的随机盐会起作用吗?
我愿意花时间研究、编码和测试它,但首先我想知道使用 AES、CommonCryptor、salt 或 MAC 是否可行。如果我们在这里解决它,它将作为这个问题的解决方案提供给所有人。
谢谢你