首先,我想迭代一下,我不问如何散列密码(如salting/bcrypt/etc)。对于我所做的其他项目,我总是散列/腌制密码,但在这种情况下,我需要暂时重新获取密码。如何安全地加密密码
基本上,我需要在我的数据库中存储一个密码,然后再次访问它。在codeigniter(我使用的框架)中,他们使用mcrypt以及一个关键字(他们认为这应该是32个字符长)。这足够吗?
编辑:
之所以问:我需要能够对关键敏感PDF文件发送给用户,并希望用密码保护他们(最好使用相同的密码)。
在与人们讨论SO和off之后,我得出结论:你永远不应该加密密码,并总是对它进行散列/加盐。想想有多少人为不同的服务使用相同的密码/电子邮件。因此,我得出结论,如果您需要加密一个项目,您应该使用单独的PIN或其他非必要项目。
但是,即使我要去引脚路线并保持密码散列,我仍然很好奇,你会如何理论去解决这个问题。
不是一个居高临下的势利(我知道这些评论往往听起来像......提前抱歉),为什么你需要重新获得用户的密码?通常这表明设计缺陷应该以其他方式得到。 – corsiKa
编辑 哈哈,没问题。基本上,我每天发送一次PDF到数据库中的所有用户。由于这包含不应共享的重要信息,因此我希望通过自己的密码对PDF进行密码保护。也许有另一种方式呢? 编辑:我还应该补充说,在网页上查看PDF并不总是可以的。 –
@corsiKa居高临下的势利......这是个好问题 –