问题标签 [saltedhash]

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 投票
1 回答
128 浏览

iphone - 用于紧急响应的 iOS 应用程序 - 如何在没有密码的情况下保护数据?

我在这里有一个独特的用例:我需要增强高危患者使用的独立 iPhone 应用程序“EmergencyResponse”(此帖子的名称已更改)。患者/护理人员使用有关他们的药物、医生联系信息、家庭联系方式、信息等的信息设置应用程序。

该应用程序会在 iPhone 锁定屏幕上显示一条消息“解锁手机并打开‘紧急响应’,它将指导您如何帮助我”

因此,如果患者在某个地方昏倒并且有好心人经过,他们会看到该消息并继续在手机上打开应用程序。一旦应用程序打开 - 好心人就会看到一条消息“嗨,我的名字是约翰·史密斯。如果我遇到麻烦,请致电 123-456-7890(手机)联系我的妻子吉尔·史密斯......等等” 好心人也会可以查看患者的医疗状况详细信息,正在服用的药物等(所有有助于紧急响应人员的事情)

赞助该应用程序的公司希望确保我在不影响使用的情况下使用加密(即不能要求用户输入密码)。我正在考虑在代码中存储一个加密密钥。存储在核心数据字段中的数据元素可以用密钥加密,当需要访问数据库时可以不加密。只有有限数量的数据,没有什么可查询的,所以在取消加密数据后,我可以将所有内容保存在 Model 对象中。

在我卷起袖子开始之前,我希望得到一些关于这是否可行的合理建议,它是否是最佳选择,或者是否有其他更好的方法(我听说过 SALT 列表 - 但从来没有用过那些)!期待您的回复!

0 投票
2 回答
300 浏览

php - PHP 登录脚本安全性 - 使用真/假盐而不是锁定

我已经阅读了有关 php 登录脚本的各种主题,因此我不打算回顾这些讨论,但我想知道在密码哈希中使用真盐和假盐。

我在考虑 ID#/ID/密码登录提示,而不是 ID/密码登录提示。我的用户都有 ID,与他们在职业中经常使用的我的公司无关。如果他们输入匹配的真实 ID# 和登录 ID,那么他们会得到真正的盐。所有不匹配的条目都会导致密码的假盐。虽然这些 ID#s 可能在 Internet 上可以获得,但您必须知道用户的名称,这会使所有随机攻击都失败。使攻击起作用的唯一方法是首先发现用户名,然后攻击我的系统。用户身份并不为人所知。

这是一种可行的方法吗?如果我在一定次数的尝试后还锁定了一个 ID,并在如此多的 GLOBAL 尝试失败后延迟登录尝试,可能会出现什么问题。但是,我不会对任何涉及假盐的尝试进行锁定或限制。我只打算在他们获得真正的盐时实施这些故障保险。但是,如果他们获得现有的 ID#,我可能会考虑限制。

想法或建议?这会是禁止 IP、询问个人问题、验证码等的安全替代方案吗?

0 投票
3 回答
2074 浏览

php - 创建加盐哈希密码的正确方法

我是在数据库上存储密码的新手,根据我阅读的内容,我在下面创建了一个简单的 php 脚本

  1. 我这样做正确吗?
  2. 盐应该作为字节数据类型存储在数据库中吗?
  3. 最终的哈希是否应该存储在数据库中的 String 数据类型中?
0 投票
1 回答
212 浏览

security - 需要 Salted MD5 技术进行登录

我需要以下登录模块和重置密码模块的方法。

a) “认证或登录模块”中的盐渍 MD5 技术

b) “重置密码”模块中的 MD5 哈希技术。

以及它应该如何工作,我在下面写下描述。

当客户端请求登录页面时,服务器应生成一个随机数 salt,并将其与页面一起发送给客户端。客户端上的 JavaScript 代码计算用户输入密码的 MD5 哈希值。然后它将盐连接到散列并重新计算 MD5 散列。然后将该结果发送到服务器。服务器从其数据库中选择密码的哈希值,连接盐并计算 MD5 哈希值。如果用户输入了正确的密码,这两个哈希值应该匹配。服务器将两者进行比较,如果它们匹配,则对用户进行身份验证。

任何引用任何相同的链接。

0 投票
2 回答
4863 浏览

javascript - 如何验证使用随机盐散列的密码?

我正在开发一个网络应用程序。现在从安全角度来看,密码从客户端发送到服务器时需要加盐哈希。 现在我的问题是,如果我随机生成一个盐,将其附加到密码并散列组合,如何验证该密码。由于生成的盐是随机的,因此盐+密码组合的哈希每次都会不同。 如果我将与用户凭据一起生成的相同盐发送到服务器,这将暴露盐。暴露的盐会产生类似的麻烦,因为试图破解密码的人可以将暴露的盐附加不同的密码以获取哈希并匹配它。我检查了许多网站和有关堆栈溢出的问题,但没有一个完全符合我的需要。

有一些工具可以读取浏览器的内存并窃取输入的密码。因此,客户端也需要加盐哈希。

0 投票
1 回答
656 浏览

asp.net - 盐渍密码散列。我在 ASP.NET 环境中做得对吗?

我正在使用 ASP.NET 开发一个网站。我想为我的用户实现登录身份验证。我正在使用 SALT HASH 方法将用户的密码安全地保存到数据库中。通过查看各种代码,我编写了如下代码来生成 SALT 和哈希密码以存储在数据库中。

//盐将被保存到数据库

//hashedPassword 将被保存到数据库。

所以我有几个问题。

1)我在一篇文章中读到“让你的盐至少与哈希函数的输出一样长”可以。我的代码中声明的 saltArray、hashedPasswordArray 和字节数组的大小是多少?我使用 saltArray 大小为 24。可以吗?

2)如果我使用会发生什么?

bytes = Encoding.Unicode.GetBytes(SaltPlusPassword);

代替

bytes = Encoding.UTF8.GetBytes(SaltPlusPassword);

3) 我应该使用什么数据类型在数据库中存储盐和散列密码?(我的数据库是 MYSQL)

4) 如果我使用 SHA256Managed 而不是 SHA256,会有什么性能差异吗?哪个最好?

5)最后我以正确的方式做这件事吗?上面的代码有什么弱点?你有什么建议?

0 投票
1 回答
3550 浏览

node.js - 为什么 compareSync 不需要盐字符串?

我正在尝试使用bcryptjs生成用户密码的哈希值。但是,我在一件事情上有点困惑。

按照惯例,根据本文,我们需要:

  • 保持我们密码哈希的盐相对较长和唯一,
  • 散列用这个盐加盐的用户密码
  • 将加盐的哈希密码与盐一起存储

因此,当我们在验证用户时比较哈希时,我们将存储的盐附加到用户输入的密码中,并将其与数据库中的哈希进行比较。

但是使用 bcryptjs 的 hashSync 和 compareSync如下

我很困惑的是,如果我们在认证时不需要盐,那么生成它有什么意义?compareSync 在true没有盐访问的情况下返回。那么它不会使相对较小的密码的暴力攻击变得容易吗?无论盐大小如何,以下所有内容都返回 true:

我希望我能清楚地解释我的困惑。

0 投票
1 回答
56 浏览

php - 这种存储密码的方式有多安全?

我理解并认识到,与使用 Google 或 Facebook 等服务相比,在我自己的数据库中存储密码是一个巨大的安全漏洞,但我想知道是否可以使用以下代码使用加盐哈希安全地存储用户名和密码:

我相信它相当安全,但我不是专家。

编辑:

我想这样会更好,不是吗?

我是否更接近于找到一个体面的密码存储机制?

0 投票
1 回答
341 浏览

php - php哈希密码检查不起作用

我对散列密码有一个奇怪的问题。我在这个网站(运行 php 的 Windows)上的另一个服务器(运行 php 的 Linux)上使用了来自另一个网站的相同脚本。登录不起作用,存储的散列密码与输入的密码不匹配,我已经回复检查但他们没有。据我所知,代码(两者都相同)适用于 Linux 但不适用于 Windows,这可能吗?

这是代码(在两个网站上都是相同的,所以应该不是问题)

谢谢你。

0 投票
0 回答
1040 浏览

ruby-on-rails-4.2 - 在rails 4.2上的ruby上使用哈希和盐更改密码bcrypt

我正在尝试使用 gem bcrypt 和 hash-salt 方法更改用户密码。

这是我的代码,其中包含我更改密码的尝试,但它给了我一个缺少模板的错误。

用户控制器

用户模型

还有,路线

最后但同样重要的是形式