问题标签 [salt-creation]

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 投票
4 回答
27683 浏览

php - 如何生成用于散列的随机长盐?

PHP中有什么方法可以制作随机的可变长度盐以用于散列?假设我想做一个 16 个字符的长盐 - 我该怎么做?

0 投票
1 回答
378 浏览

asp.net-mvc-2 - 加盐密码 - 有比使用时间戳更好的选择吗?

我目前正在构建几个 ASP.NET MVC 2 站点,我想知道我有哪些选择来加盐密码。在我的 PHP 工作中,我通常只获取用户注册时的时间戳,然后将其附加到密码字符串的末尾,然后再使用 SHA1 对整个事物进行哈希处理。我的直觉是,这种方法可能还不够。

无论如何,我对使用 ASP.NET 进行用户管理还是很陌生,所以我认为从一开始就开始使用最佳实践符合我的最大利益。我知道 ASP.NET Web 表单具有可用的内置用户管理,但不确定 MVC。

0 投票
1 回答
1578 浏览

php - 使用便携式 PHP 密码散列框架创建 salt

我想使用便携式 PHP 密码散列框架来散列密码。但我发现它的演示不使用盐来散列密码。但它使用虚拟盐来检查密码,我觉得这很奇怪,我根本不明白这个想法,

我想知道,如果我想使用可以生成唯一盐并将其存储在我的数据库中的每个用户的约定方法,我该如何使用便携式 PHP 密码散列框架来生成盐?

这是我用来散列密码的函数,但有人告诉我 sha512 与 sha1 有相同的问题,明智的做法是信任像便携式 PHP 密码散列框架这样的专家,

如果您有任何想法,请告诉我。谢谢。

0 投票
1 回答
399 浏览

security - 盐位,盐藏

我对以下情况有疑问:
我想使用 jasypt 加密我的密码并使用某种盐进行加密。


如果:我使用基于密码的加密使用从环境变量中获得的密码来加密盐,这样我就可以在属性文件中获得盐的加密值,这是否有意义(或是否存在任何安全隐患) ,从那里获取它,通过我从环境变量中获取的密码解密它(实际上我将拥有一个 EnvironmentStringPBEConfig 对象,该对象反过来从 EnvironmentStringPBEConfig 对象中获取环境变量,并在创建 EnvironmentStringPBEConfig 后删除环境变量)最后使用盐。

谢谢你。

编辑:请注意,我想知道如上所述“隐藏”盐是否是一种好习惯,我现在没有实施这样的解决方案。

编辑:另请注意OWASP的以下建议。

建议:很难偷走整个盐

对于基本的加盐机制,还有一些额外的推荐增强功能可供考虑:

有一个额外的“系统”盐,它是整个系统的固定值。这应该存储在某个配置文件中。这个固定值不必包含在每个备份中,这使得攻击者更难破坏正确计算哈希值所需的所有元素。在源代码中嵌入部分系统盐。这对开源代码没有多大帮助,但对于自定义应用程序,在代码中包含部分系统盐将是攻击者正确计算哈希值所需的又一项。每次更改用户密码时都会为帐户生成一个新的盐。

建议:盐分离

另一种密码存储防御机制涉及将盐存储在与密码哈希不同的位置。使用服务器的文件系统是一种常用的盐隔离机制,假设密码哈希存储在不同的位置,例如数据库或 LDAP 服务器。这种防御机制降低了数据库文件被盗时密码被盗的风险,因为盐不会包含在数据库数据中。注意确保密码哈希和盐没有一起备份,它们也应该单独备份。

0 投票
2 回答
139 浏览

php - 为 php 登录系统扩展和使用 salt 生成代码

我正在为一个 web 项目开发一个 php/mysql 登录系统。在浏览了 SO 和网络上的许多文章后,我提出了一个基本框架并开始为它编写一些代码。但是,我在密码加密方面陷入了僵局。

经过一个晚上的阅读,我发现:

  • 我应该使用至少 sha1 或 sha2 的用户密码
  • 我还应该使用随机生成的盐(这是我需要帮助的)并在加密之前将其附加到密码中
  • 散列密码和随机生成的盐应该存储在数据库中,然后查询和组合/加密,然后检查用户散列密码。

我的问题是随机生成盐,

0 投票
4 回答
2144 浏览

security - Is salting passwords with base 64 secure?

In a web application I am reading some bytes from /dev/urandom to get a random salt for hashing the passwords.

Is it good to base64 the salt before hashing? Because base64 encoding sometimes appends some = at the end, which could then result in a known plaintext attack. But it may be no problem, because the salt is nevertheless stored in db, or am I wrong?

Does this have an effect on the security of the application?

0 投票
4 回答
5105 浏览

java - Java - 生成随机盐不是随机的

我正在尝试在 Java 中生成一个盐,以与用于安全密码存储的哈希算法一起使用。我正在使用以下代码来创建随机盐:

它应该生成一个完全安全的随机生成的盐,用于我的散列算法。然而,当我运行代码时,它每次都会输出相同的盐......表明生成的盐根本不是随机的。

出于明显的安全目的,每个用户都需要一个唯一的盐,但是如果我每次创建新帐户时都使用此代码,那么每个用户都将拥有相同的盐,从而违背了最初拥有它的目的。

我的问题是:为什么这总是给我相同的盐,我能做些什么来确保每次运行代码时生成的盐是完全随机的?

编辑:

以为我会包含整个哈希程序的源代码,该程序现已修复并正常工作。这是一个简单的原型,用于模拟在创建帐户时生成哈希,然后在登录系统时检查密码。

0 投票
1 回答
334 浏览

salt - 如何通过 salt-api 将文件放在 salt master 上

我想通过 salt-api 在 salt-master 上放置一个文件。我已经使用 rest cherrypy 配置了 salt-api 并为它配置了一个自定义钩子。我想探索我们可以首先将文件传输到 salt-master 然后将其分发给 minions 的用例。我能够实现第二部分,但无法将数据文件发布到 API。

0 投票
1 回答
640 浏览

c# - 仅获取 256 位哈希的前 10 个字符而不是完整的哈希值

用户名 ABC
密码 DEF
Salt = 用户名 + 密码 IE;ABCDEF(盐键)

现在,这个盐键使用 SHA256 算法进行散列,散列后盐键(ABCDEF)的输出是:jjaiBx04mbD1ZvsLKuG6PyBFfJcYbl7iCnDCsi2l4tk=

现在我如何将其截断为较小的哈希,以便结果只是它的前 10 个字符,让我们说:jjaiBx04mb

0 投票
0 回答
350 浏览

python - 指定目标是目录盐文件管理

我想settings.py从 salt master 挂载到在 aws ec2 实例上运行的 salt minion。我将 makedirs 设置为 true ,以便始终将最新的安装到 minion 上settings.py。但是,我设置的目标路径将被解析为目录而不是文件。这是配置:

/usr/local/myspace/myapp/main/minion 初始化时不存在,我这里通过makedirs. 有趣的是,当我减少一个级别时,例如,如果我减少了main路径,并且 give name: /usr/local/myspace/myapp/settings.py,目标被解析为一个文件。所以我认为我的问题与路径级别有关,但如果没有更多信息,我无法确定到底哪里出了问题。