问题标签 [salt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
9262 浏览

php - PHP Sessions + 用户代理加盐

最近几天我一直在想它,但我读了一些关于如何使 PHP 会话更安全的文章。几乎所有这些文章都说您需要在会话中使用额外的盐保存用户代理。像这样的东西:

盐会使攻击者更难劫持或任何会话。但是为什么每次检查时都要加盐:

那么为什么盐会让它更安全,因为攻击者仍然只需要用户代理(相对而言是一小组不同的用户代理)和 sessionid?

可能是我忽略了一些小东西,但无法弄清楚,让我抓狂哈哈

谢谢!

0 投票
8 回答
83304 浏览

hash - 加盐密码:最佳实践?

我一直很好奇......在为哈希加密密码时哪个更好:前缀还是后缀?为什么?或者,只要你加盐,这有关系吗?

解释一下:我们现在(希望)都知道,我们应该在对密码进行哈希处理以存储在数据库中之前对密码进行加盐[编辑:这样你就可以避免像最近发生在 Jeff Atwood 身上的事情]。通常这是通过在将盐传递给散列算法之前将盐与密码连接起来来完成的。但例子各不相同......一些例子在密码前加上盐。一些示例在密码后添加盐。我什至见过一些人试图把盐放在中间。

那么哪种方法更好,为什么?有没有一种方法可以减少哈希冲突的机会?我的谷歌搜索还没有对这个主题进行像样的分析。

编辑:很好的答案伙计们!对不起,我只能选择一个答案。:)

0 投票
3 回答
28304 浏览

mysql - 如何使用 hash('sha256', $salt . $password) 创建一个 mySQL 用户?

我肯定错过了什么。

我想为仅选择事务设置数据库用户帐户,但 mysql 不允许我在创建用户帐户时为密码选择哈希方法。

这失败了:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'hash('sha256', 'salted-myfakelongrandompasswordstring')' 附近使用正确的语法

这通过了:

我检查了 phpinfo 页面并且已经启用了 sha256 哈希引擎。

有没有办法更改 mysql 的默认散列算法,或者我的 SQL 上的语法不正确?

0 投票
6 回答
594 浏览

security - 未加密密码用户群的加密密码

前段时间我加入了新项目。它已经开发了很长时间。令我惊讶的是所有用户的密码都以非加密形式存储

我向我们的管理层解释了这个巨大的安全漏洞——看起来他们同意这一点,并希望使项目更安全。团队成员也同意。

我们在系统中有大约 20,000 个用户。

其实做这项工作压力很大——将非加密密码迁移到加密形式。如果出现问题,可能会导致项目的灾难。

我怎样才能降低这种压力?备份?单元测试(集成测试)?

0 投票
8 回答
6140 浏览

mysql - 密码哈希和加盐 - 这是一个好方法吗?

我正在做一些研究或搜索处理密码散列和加盐的不同方法,并遇到了这个有趣的链接:

http://phix.me/salt/

现在,基本上这个提议是创建两个用户函数,一个用于散列,一个用于检查散列。

盐是伪随机的,但实际上是基于密码的(让我觉得很糟糕?)。

散列函数还伪随机地在散列字符串中“撒”盐。

哈希检查功能反转撒盐,然后进行实际的哈希检查。

现在,我知道每个密码散列的唯一盐 = 好,但也有逻辑散列密码并创建存储在 db 函数中的盐可能 = 坏。

我喜欢盐不明显的想法,它也不需要基于一些希望一致的值,例如用户名、用户 ID、出生日期等,但正如我所说,我确实对实施表示怀疑。

那么,人们对“最佳方法解决方案”的看法和想法是什么?

0 投票
5 回答
4052 浏览

security - 盐和密码 - 前缀或后缀

这是一个关于需要散列的盐渍短语的问题。

我想知道将盐前缀到短语或后缀是否更安全?盐 + 词组或词组 + 盐

我的问题来自对MD5s上这篇文章的评论。我不确定我是否理解作者评论背后的原因。

0 投票
5 回答
2737 浏览

asp.net - 将盐存储在代码中而不是数据库中

关于 salt 最佳实践已经有过几次精彩的讨论,似乎压倒性的建议是为每个密码生成不同的 salt,并将其与密码一起存储在数据库中。

但是,如果我正确理解了 salt 的用途,它是为了减少您受到彩虹表攻击的可能性。所以,我知道通过将它存储在数据库中,为每个用户更改它是最佳的,但是如果盐离数据库不远怎么办?如果我在代码中存储一个盐值(在 Web 服务器上将在已编译的 dll 中),那么如果攻击者以某种方式获得对数据库的访问权限,这难道不是同样的目的吗?在我看来,这会更安全。

0 投票
5 回答
10953 浏览

c# - 在流上加盐 C# MD5 ComputeHash

我看不到任何方法来加盐 MD5.ComputeHash(Stream)。我是否错过了将字节注入 HashAlgorithm 的某种方式?

我尝试在执行流计算之前执行 ComputeHash(byte[]),但不出所料,它没有任何效果。任何想法(除了修改文件)?

谢谢你的时间。

附录 更具体一点,我想使用流来获取我不想加载到内存中的大文件的哈希值。

0 投票
5 回答
903 浏览

php - 我的身份验证加密有用吗?

所以我一直在阅读很多关于 PHP 加密的内容。以至于我不确定究竟什么是安全存储登录信息的真正好方法。

但是,以下功能是我想出的:

我做对了吗?它用于验证与用户名组合的密码,以及将生成的哈希与存储在数据库中的哈希进行比较以验证登录的能力。

0 投票
4 回答
10902 浏览

mysql - MySQL查询中的SHA盐

我正在设置一个cookie。就像是:

现在 124 是我想要的 id。所以在我的 MySQL 表中,我试图运行如下查询:

如何将“mysalt”添加到 SQL 查询中?因为否则我想获得正确的ID。