我有一个网络服务器,创建一个二维码,这是用户名+用户名的md5散列。其中,用户名是当时登录的用户。其中password是由我设置的系统密码,对web服务器和应用程序通用。
我的Android/iPhone/BlackBerry/Windows应用程序将扫描这个二维码,并使用二维码中提供的用户名与密码进行哈希运算,这将告诉我二维码来自我的服务器。
显然,如果有人拿到了密码,那么他们就可以创建不是来自我的web服务器的二维码。那么,有没有办法在我的应用程序中安全地存储密码,或者有人可以反编译.apk并在classes.dex中找到它?
发布于 2011-07-25 05:12:11
您可以以某种方式混淆密码,但最终这只能通过模糊性来保证安全性。如果有人想要这样做,当然可以对其进行逆向工程。
您可能希望使用公钥密码术来避免这种情况--即使有人能够访问公钥,他们仍然无法使用它来冒充您的服务器。
发布于 2011-07-25 05:10:31
不是的。
如果有人有足够的动力,他们将能够反向工程一个硬编码的密码。
发布于 2011-07-25 05:10:32
我不确定其他平台,但是如果你在android上把你的密码硬编码成明文,他们会很容易得到它。其他平台可能需要更高级的方法。你可以用一些更高级的散列算法来散列密码,这样他们就不会得到原始密码,但从你说的话来看,你不想让他们做“假的”二维码。
简而言之,答案是否定的,因为如果在客户端,一切都可能以某种方式被破解。
https://stackoverflow.com/questions/6809735
复制相似问题