相关疑难解决方法(0)

Salt Generation和开源软件

据我了解,生成盐的最佳做法是使用源代码中存储的一些神秘公式(甚至魔术常量).

我正在研究一个我们打算作为开源发布的项目,但问题是源代码是生成盐的秘密公式,因此能够在我们的网站上运行彩虹表攻击.

我认为很多人在我面前都考虑过这个问题,我想知道最佳做法是什么.在我看来,如果代码是开源的话,根本就没有盐,因为盐可以很容易地进行逆向工程.

思考?

security encryption open-source salt rainbowtable

70
推荐指数
3
解决办法
2万
查看次数

盐的目的是什么?

在Linux系统中,使用MD5哈希存储密码.为什么"盐"的使用可以更多地保护系统?特别是,我想说明以下两点

  1. 据说盐用散列以明文形式存储,然后当攻击者知道盐值时它如何防止攻击者.(攻击者可以是自己可以检查的系统管理员 /etc/shadow.
  2. 如果每次都随机生成盐,系统如何比较哈希以验证用户?

例如,用户A具有用户salt s1并生成h1; h1 = md5(password.s1);.下一次,它使用salt s2,系统必须生成不同的哈希值h2 = md5(password.s2).由于h1不等于h2,系统如何验证用户?

security md5 salt

8
推荐指数
2
解决办法
3355
查看次数

有人能指点我好的PHP/MySQL盐渍哈希密码实现吗?

在阅读了有关盐密码散列的内容后,我想为管理区域实现一个简单的版本,以便建立一个网站.

如果你有很好的链接代码已经很好地实现了这个想法,如果你能分享,我将不胜感激.

谢谢,

php passwords hash salt

7
推荐指数
1
解决办法
1080
查看次数

密码,盐和auths

如果我有一个随机的,16个字符长的字母数字盐(不同的情况),每个用户生成和存储,我是否还需要一个站点范围的盐?

换句话说,这样好吗?

sha1($user_salt . $password)
Run Code Online (Sandbox Code Playgroud)

我应该这样做吗?

sha1($user_salt . $password . $site_salt)
Run Code Online (Sandbox Code Playgroud)

也,

目前,我有一个加密的cookie,用于查找数据库中的会话.在此会话中,有一个user_id和一个user_token.然后我使用user_id查询数据库 - 如果DB === user_token中的user_id + hash的sha1,则允许用户通过.

我在每个页面加载时对user_id进行第二次查询,这样如果我删除,禁止或更改用户的密码,该操作立即生效.

这就是我在这里通过网站和问题查看的内容.你怎么看?我错过了什么?

我需要添加角色检查,但这可能会添加另一个查询(第3个仅用于auth).有小费吗?

php authentication passwords session salt

2
推荐指数
1
解决办法
251
查看次数