我有一个Web服务器,它创建一个QR码,即[用户名] + [用户名] [密码]的md5哈希值。 其中[username]是当时登录的用户。 其中[密码]是我设置的系统密码,对于Web服务器和应用程序是通用的。
我的Android / iPhone / BlackBerry / Windows应用程序将扫描此QR码并使用QR码中提供的[用户名]与[密码]一起使用,这将告诉我QR码来自我的服务器。
显然,如果有人要抓住[密码],那么他们就可以创建不是来自我的网络服务器的二维码。那么有没有安全地将[密码]存储在我的应用程序中,或者有人可以反编译.apk并在classes.dex中找到它?
答案 0 :(得分:9)
您可以以某种方式模糊密码,但最终这只是通过默默无闻的安全性。想要的人当然可以对其进行逆向工程。
您可能希望查看公钥加密以避免这种情况 - 即使有人访问公钥,他们仍然无法使用它来模拟您的服务器。
答案 1 :(得分:0)
没有
如果某人有足够的动力,他们就可以对硬编码的密码进行逆向工程。
答案 2 :(得分:0)
我不确定其他平台,但如果你把你的密码硬编码在Android上的明文,他们会很容易得到它。其他平台可能需要更高级的方法。您可以使用更高级的哈希算法来散列密码,这样他们就不会获得原始密码,但是根据您的说法,您不希望他们制作“伪”QR码。
简短的回答是否定的,因为如果是在客户端,一切都会被破解。