2017-04-04 38 views
-8
使用AES在Android和解密

我已经成功地加密的口令字符串中的Android,并将其发送到它存储在数据库中,现在为了实现服务器“忘记密码”,我们需要解密一样“加密密码“在Java中。加密在Java中

使用这个库的加密/解密在安卓 com.scottyab:aescrypt:0.0.1

任何帮助表示赞赏。 在此先感谢。

+2

相反解密现有的密码,它的更好的你做下面的事情之一:1.生成新的密码,并将其发送给用户WHA应该在登录改变这一点。 2.提供一个界面给用户输入新密码,加密这个并将其替换到你的数据库中。 –

+1

更好_hash_密码,不加密它们。 – GriffeyDog

+1

加密密码对于安全来说真的很糟糕,如果你花几个小时分析apk,你可以找到加密密钥 –

回答

2

你这样做是错误的(不安全)。

  1. 不要在客户端上加密的密码,以纯文本与POST请求将它们发送到服务器通过HTTPS。

  2. 不要加密服务器上的密码,请使用密码安全哈希方法(请参阅我的评论),其中包含salt和迭代,以便哈希时间为〜100ms。您将无法访问原始密码,这很好,因为攻击者也不会。是的,会有攻击者,他们将获得管理员访问权,并对其进行计划。

  3. 对于密码重置发送时间限制重置令牌用户创建一个新的密码才能使用。

注意:请在服务器上使用双因素身份验证,并严格限制有权访问的人数。