我正在开发一个Android应用程序,我想提交一个用户名和密码。我在做什么,此刻是:ObjectOutputStream:这是安全的吗?
通过ObjectOutputStream的
连接到认证服务器
发送用户名/散列密码
我这样做是因为这是我可以用我已经获得的知识来实现自己的唯一解决方案。
但是当然有一个问题我不得不担心:这有多安全?我知道,没有100%的安全。但是,这是一个非常糟糕的解决方案,或平均?
我正在开发一个Android应用程序,我想提交一个用户名和密码。我在做什么,此刻是:ObjectOutputStream:这是安全的吗?
通过ObjectOutputStream的
连接到认证服务器
发送用户名/散列密码
我这样做是因为这是我可以用我已经获得的知识来实现自己的唯一解决方案。
但是当然有一个问题我不得不担心:这有多安全?我知道,没有100%的安全。但是,这是一个非常糟糕的解决方案,或平均?
这是不安全的,因为登录名/密码未加密。事情你应该做的是:
盐: 如果两个用户有此相同的密码,他们也都会有这个相同的哈希。这可以很容易地使用彩虹表(谷歌为它)恢复。为了避免这样的密码的情况应该与一些盐是哈希值,而不是使用:
hash(password);
你应该使用:
hash(salt+password);
哪里盐可以在应用程序硬编码了一些相当长的随机字符串(防止彩虹攻击)或只是用户名,因为它可以在服务器端和应用程序端轻松访问。
你为什么要发送密码到服务器? – Kedarnath
检查它是否正确。正确的密码存储在mySQL数据库中。和我发送密码的服务器正在访问此数据库。数据库本身只能由接收我的密码的这台服务器访问。 – PKlumpp
然后使用md5,它是100%安全的。 – Kedarnath