我正在编写必须连接到服务器并从服务器下载一些数据的应用程序。必须下载的文件的URL格式如下:
http://www.myserver.com/file.xml?username=xxx&password=xxx
用户未提供的网址和密码,我只是将它们保存在代码中并添加到我需要的网址中。我的问题是如何在Android设备上安全地保存密码和用户名。
答案 0 :(得分:0)
在Android中,您可以使用Md5编码方法进行密码编码,如果需要保存这些用户详细信息,则将其存储在共享首选项中
答案 1 :(得分:0)
您是否了解是否可以使用Google OAuth2:http://developer.android.com/training/id-auth/authenticate.html
如果没有,请不要在URL中发送用户名和密码,而是在HTTPS POST中,正确的方法是使用SOAP Web服务。
答案 2 :(得分:0)
答案 3 :(得分:0)
我建议不要在设备上保存任何类型的凭据(用户名)和身份验证器(密码),以及传输它们;这通常被认为是一个安全漏洞,因为中间人攻击可以拦截HTTP流量并轻松识别两者。
我建议改为创建一个将临时标识符与用户和设备相关联的令牌引擎。例如:
请注意,没有标识用户的内容,也没有标识其凭据或密码的内容。您可以检查生成URL的设备是否是令牌最初与之关联的设备。可以实施Adittional控件来检测在其生命周期内使用的令牌,并帮助识别恶意用户。