1
我正在研究具有原生Android和本机iOS实现的即时通讯应用程序。必需的功能之一是可以通过输入普通密码字符串来加密消息。这些消息必须通过输入该密码进行解密。我被告知要“使用AES”。针对Android和iOS的基于密码的加密
我已经尝试过接近成功的计划是取得密码字符串,将它与一些我知道永远不会改变的上下文信息绑定在一起,并使用类似MD5的东西生成一个固定长度的密钥。我知道这不是超级安全的。
为了解密,我再重复一遍,我得到了相同的密钥。然后,我用该密钥解密数据,并获取原始数据。
我这对Android和iOS工作,但他们无法解密彼此的数据,还告诉我有可能实现的不同,我不能看到,而我不能改变。两个平台上的AES128加密数据的前16个字节总是相同,但在此之后,它们完全不同。我可以检查什么?
要超清晰,用户体验将与使用密码共享zip文件的体验相同。用户随时可以从任何设备和BAM输入密码,他们会得到未加密的数据。共享密钥文件或任何这些东西不是这个的一部分。
我没有在Android上传IV,而且它没有它。一旦我给它与iOS上相同的IV(全部为0x0),它就创建了相同的结果。 –