【发布时间】:2017-04-04 15:41:02
【问题描述】:
我已经成功地在 android 中加密了密码字符串并将其发送到存储在数据库中的服务器,现在为了实现“忘记密码”,我们需要在 java 中解密相同的“加密密码”。
在 android 中使用这个库进行加密/解密: com.scottyab:aescrypt:0.0.1
感谢任何帮助。 提前致谢。
【问题讨论】:
-
与其解密现有密码,不如执行以下操作之一: 1. 生成新密码并将其发送给用户,该用户应在登录时更改密码。 2. 为用户提供一个输入新密码的界面,将其加密并替换到您的数据库中。
-
最好散列密码,而不是加密它们。
-
加密密码确实不利于安全,花几个小时分析apk就能找到加密密钥
-
正如@GriffeyDog 所说,使用散列而不是加密
-
不要加密密码,当攻击者得到数据库时,他也会得到加密密钥。使用随机盐在 HMAC 上迭代大约 100 毫秒,然后将盐与哈希一起保存。使用
password_hash、PBKDF2、Bcrypt等函数和类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。
标签: java android encryption