问题标签 [password-hash]
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.
security - “双重哈希”密码是否比仅哈希一次更安全?
在存储之前对密码进行两次哈希处理是否比仅对密码进行一次哈希处理更安全或更安全?
我正在谈论的是这样做:
而不仅仅是这个:
如果它不太安全,你能提供一个很好的解释(或一个链接)吗?
另外,使用的散列函数有什么不同吗?如果您混合 md5 和 sha1(例如)而不是重复相同的哈希函数,会有什么不同吗?
注意 1:当我说“双重哈希”时,我指的是对密码进行两次哈希处理,以使其更加模糊。我不是在谈论解决冲突的技术。
注意 2:我知道我需要添加随机盐才能真正确保安全。问题是使用相同的算法进行两次散列是否有助于或损害散列。
security - 如何升级密码存储方案(更改散列算法)
我被要求对 Intranet 站点进行一些更改/更新;正如他们所说,让它成为“未来的证明”。
我们发现密码是使用 MD5 算法进行哈希处理的。(该系统自 2001 年以来就已经存在,因此当时就足够了)。
我们现在想将散列算法升级到更强大的算法(BCrypt-hash 或 SHA-256)。
我们显然不知道明文密码,并且为用户库创建新密码不是一个选项*)。
所以,我的问题是:
在不访问明文密码的情况下更改散列算法的公认方法是什么?
最好的解决方案是完全“在幕后”的解决方案。
*) 我们尝试了; 试图说服他们,我们使用“密码年龄”的论据,试图用咖啡贿赂他们,试图用蛋糕贿赂他们等等。但这不是一个选择。
更新
我希望有某种自动解决方案来解决问题,但显然除了“等待用户登录,然后转换”之外没有其他选择。
好吧,至少现在我现在没有其他可用的解决方案。
php - 如何安全地存储我的用户密码?
这比普通的MD5安全多少?我刚刚开始研究密码安全性。我对 PHP 很陌生。
php - Mysql密码哈希方法旧与新
我正在尝试从位于 slicehost (两个不同的托管公司)服务器中的 php 脚本连接到 dreamhost 的 mysql 服务器。我需要这样做,以便可以将 slicehost 的新数据传输到 dreamhost。使用转储不是一个选项,因为表结构不同,我只需要传输一小部分数据(每天 100-200 条记录)问题是我在 slicehost 和 dreamhost 使用新的 MySQL 密码散列方法使用旧的,所以我得到
事实:
- 我需要继续在 slicehost 上使用新方法,我不能使用旧的 php 版本/库
- 数据库太大,每天都用dump转储
- 即使我这样做了,表格也有不同的结构
- 我每天只需要复制其中的一小部分(仅当天的更改,100-200 条记录)
- 由于表格如此不同,我需要使用 php 作为桥梁来规范化数据
- 已经google了
- 已经和两位支持人员谈过了
对我来说更明显的选择是在 Dreamhost 开始使用新的 MySQL 密码哈希方法,但他们不会更改它,而且我不是 root,所以我自己不能这样做。
有什么疯狂的想法吗?
VolkerK 建议:
现在显而易见的是运行 mysql> SET GLOBAL old_passwords=0; 但我需要超级特权才能做到这一点,他们不会给我
如果我运行查询
我得到错误
我不是根...
Dreamhost 支持的那个人坚持说问题出在我头上。但他说他会运行我告诉他的任何查询,因为它是私人服务器。所以,我需要确切地告诉这个人要运行什么。所以,告诉他跑
会是一个好的开始吗?
algorithm - 目前最安全的单向加密算法是什么?
众所周知,单向加密是一种在数据库中加密用户密码的便捷方式。这样,即使是数据库的管理员也无法知道用户的密码,而是必须猜测密码,使用相同的算法对其进行加密,然后将结果与数据库中的加密密码进行比较。这意味着找出密码的过程需要大量的猜测和强大的处理能力。
看到计算机越来越快,而数学家仍在开发这些算法,我想知道考虑到现代计算能力和加密技术,哪一个是最安全的。
多年来,我几乎一直在使用 MD5,我想知道我是否应该做更多的事情。我应该考虑使用不同的算法吗?
另一个相关问题:对于这样的加密密码,字段通常应该多长时间?我必须承认我对加密几乎一无所知,但我假设 MD5 哈希(例如)可能更长,并且可能需要更多的处理能力来破解。或者字段的长度根本不重要,前提是加密的密码首先适合它?
php - 使用 php 创建 joomla 用户密码?
我正在尝试为 Joomla 创建一个自定义注册组件,我想知道是否有人知道如何为 joomla 创建正确的密码加密?Joomla 密码如下所示:
fbae378704687625a410223a61c66eb1:VM6DwmVWHTwpquDq51ZXjWWADCIc93MR
我相信哪个是 md5(或其他东西)和单向加密?我只是在寻找一种 php 代码来创建相同的加密。
干杯
salt - 盐渍密码101
有人可以帮我了解加盐的工作原理吗?
到目前为止,我了解以下内容:
- 验证密码
- 生成随机字符串
- 散列密码和随机字符串并将它们连接起来,然后将它们存储在密码字段中......
我们如何存储盐,或者在用户登录时知道它是什么?我们是否将其存储在自己的领域中?如果我们不这样做,应用程序如何确定盐是什么?如果我们确实存储它,它不会破坏整个目的吗?
php - 什么函数返回 Drupal-6 有效的密码哈希?
我想编写一个脚本来将大约 100 个用户插入 Drupal 6 数据库——他们的用户名、邮件和密码哈希。
在阅读了 Drupal 6 使用的 PHP 类之后,我不确定我能否成功。我的方法是给每个用户发送一封像“你好,x!你的新密码是 y”这样的邮件,然后将散列后的“y”插入 Drupal 的用户表中。
我知道 Drupal 返回一个 md5。但它不仅仅是 md5 的原始密码,而是一个非常混乱的密码(使用 salt 和其他方法)。
我研究了 Drupal 使用的便携式 PHP 密码散列框架,但我认为它不能仅使用复制+粘贴方法。
所以,我的问题是:我可以创建一个返回有效 Drupal 6 密码哈希的 PHP 函数,以将其插入到它的用户表中吗?
java - 为我的系统选择加密算法的标准是什么
我正在开发一个将在真实环境中应用的系统。我需要为系统建立高安全机制,其中之一是对我的数据库中的用户密码进行加密。
我更喜欢使用单向加密方法而不是双向加密,问题是我想选择一个具有良好性能并且有合理理由说服我的合作伙伴为什么我选择一种算法而不是其他算法的好算法。
你能给我一些建议吗?
javascript - 客户端密码加密
可能重复:
关于客户端的密码哈希系统
我必须保护我的网站用户的密码。我所做的是在服务器端使用 MD5加密散列。但问题是密码在到达服务器之前一直是纯文本的,这意味着可以使用流量监控来捕获密码。所以我想要的是使用客户端密码加密/散列机制并发送加密/散列密码。谁能告诉我这样做的方法是什么?