我有一个预先存在的网站,我希望我的 android 应用程序也可以登录。我希望应用程序在用户登录后记住用户名和密码,这样他们就不必在每次使用应用程序时都输入凭据。如何100%安全地存储密码?
该应用程序只允许用户上传图像,而网站存储贝宝和卡信息,因此非常重要的是,如果有人丢失了他们的手机并且它碰巧落入坏人之手,他们将无法提取他们的密码。密码需要在另一端解密吗?
我有一个预先存在的网站,我希望我的 android 应用程序也可以登录。我希望应用程序在用户登录后记住用户名和密码,这样他们就不必在每次使用应用程序时都输入凭据。如何100%安全地存储密码?
该应用程序只允许用户上传图像,而网站存储贝宝和卡信息,因此非常重要的是,如果有人丢失了他们的手机并且它碰巧落入坏人之手,他们将无法提取他们的密码。密码需要在另一端解密吗?
首先,您不能 100% 安全地存储密码。
这里有一个关于安全凭证存储的不错的博客。http://android-developers.blogspot.co.uk/2013/02/using-cryptography-to-store-credentials.html
对于要在另一端加密的密码,您要么需要使用单个通用主密钥,要么需要与服务器进行某种形式的密钥交换。
要么在本地解密密码,然后通过 HTTPS 发送。
与其存储登录名和密码,不如仅存储某种身份验证 ID,例如在OAuth
访问 PayPal / 卡和其他私人信息时始终要求输入密码。
更好的方法是使用MD5 hash
. 当您收到对用户进行身份验证的请求时,您可以对密码进行哈希处理,然后unhash
将其放入您的文件中。.php
database
另外,在(SQLite、MySQL 等)中存储哈希密码也没有问题。