问题标签 [md5]

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 投票
17 回答
13388 浏览

security - 最好的“忘记密码”方法是什么?

可能重复:
忘记密码:实现忘记密码功能的最佳方法是什么?

我正在编写一个社区网站。

我想建立一个“忘记密码”功能。

环顾不同的网站,我发现他们采用了以下三种选择之一:

  1. 向用户发送一封电子邮件,其中包含指向唯一隐藏 URL 的链接,该 URL允许他更改密码(Gmail 和 Amazon)

  2. 向用户发送一封带有随机生成的新密码的电子邮件(Wordpress)

  3. 向用户发送他当前的密码(www.teach12.com)

选项#3对用户来说似乎是最方便的,但由于我将密码保存为 MD5 哈希,我看不到选项#3 对我来说如何可用,因为MD5 是不可逆的。这似乎也是不安全的选项,因为这意味着网站必须在某处以明文形式保存密码,并且至少明文密码是通过不安全的电子邮件发送给用户的。或者我在这里错过了什么?

因此,如果我不能执行选项#1,选项#2似乎是最简单的编程,因为我只需要更改用户的密码并将其发送给他。尽管这有点不安全,因为您必须通过不安全的电子邮件传达实时密码。然而,这也可能被麻烦制造者滥用,通过输入随机电子邮件和不断更改各种用户的密码来纠缠用户。

选项#1似乎是最安全的,但需要一些额外的编程来处理过期的隐藏 URL 等,但它似乎是大型网站使用的。

您使用/编程这些不同的选项有什么经验?有什么我错过的选择吗?

0 投票
6 回答
21220 浏览

sql-server - 是否可以直接用 T-SQL 语言计算 MD5 哈希?

我需要散列(MD5)我们 Sql Server 2000 数据库中的所有密码。我可以轻松地生成一个 C#/VB.NET 程序来转换(散列)所有密码,但我想知道(更多的是为了我的教育而不是真正的迫切需要)是否可以直接在 T-SQL 中计算 MD5 散列。
感谢任何会回答的人。

0 投票
5 回答
3129 浏览

perl - 我可以使用 Perl 获取目录的 MD5sum 吗?

我正在编写一个使用 File::Find 来索引网络文件系统的 Perl 脚本(在 Windows 中)。它工作得很好,但是爬取文件系统需要很长时间。我认为在遍历目录之前以某种方式获取目录的校验和会很好,并且校验和与之前运行的校验和相匹配,不要遍历目录。这将消除大量处理,因为此文件系统上的文件不会经常更改。

在我的 AIX 机器上,我使用以下命令:

它返回如下内容:

该命令花费的时间很少:

我已经在 CPAN 中搜索了可以执行此操作的模块,但看起来所有模块都会为我提供目录中每个文件的 MD5sum,而不是目录本身。

有没有办法在 Perl 中获取目录的 MD5sum,甚至在 Windows 中,因为我可以从 Perl 调用 Win32 命令?

提前致谢!

0 投票
2 回答
1743 浏览

hash - MD5 逆恒等式: (X,Y) 是否存在使得 md5(X)=Y 和 md5(Y)=X

是否存在两个相互散列的 128 位值?

不用蛮力就能找到它们吗?

额外加分:我可以编造术语“md5-itive inverse identity”吗?

解决方案集将是稀疏的,即使不是空的。

对于你今天的 LOL,来吧:

https://github.com/flipmcf/playground/tree/master/md5-inverse-search

有关的:

MD5 定点
MD5 哈希冲突

0 投票
2 回答
4806 浏览

javascript - 有没有办法使用 Javascript 访问图像的位图数据?

我正在寻找一种使用 Javascript 为显示在 XHTML 页面上的图像创建哈希的方法。

0 投票
9 回答
108829 浏览

python - Python中的随机哈希

在 Python 中生成随机哈希(MD5)的最简单方法是什么?

0 投票
1 回答
14711 浏览

sql - 处理 VB.NET 中的 varbinary 字段

我们的一个合作伙伴正在调用一个包含名为 token 的参数的 Web 服务。令牌是两个数字的 MD5 哈希的结果,并帮助我们使用我们的合作伙伴系统验证用户。我们的合作伙伴向用户询问两个字符串,将它们连接起来,通过 MD5 运行它们,然后调用我们的 Web 服务。MD5的结果就是token,以字符串的形式提交给我们。

我们将有效令牌存储在数据库中——因为我们使用 SQL Server 来计算我们端的令牌,SQL 似乎最乐意将令牌存储为 varbinary,这是 MD5 计算的本机结果。

我们有两段代码试图做同样的事情——运行一个选择查询,根据提交的令牌提取一个值。一个使用动态查询(这是一个问题),但它有效。另一个尝试以参数化(更安全)的方式做同样的事情,它不起作用 - 它无法找到令牌。

这是两个相互竞争的尝试。首先,失败的参数化版本:

其次,有效的动态查询字符串版本:

当我们运行 SQL 分析器时,这实际上是对 DB 执行的:

这对我来说看起来不对,看起来好像我们正在做的事情会导致堆栈中的某些东西在某处进行错误的转换。

有什么想法吗?在其中使用动态查询启动显然是不可接受的。

编辑:

该字符串是一个 MD5 哈希结果。为了让它在查询分析器中工作,我们这样做:

请注意缺少引号,如果我们引用它,查询将失败。我们要比较的字段是 varbinary,SQL Server 已将我们端的 MD5 计算结果存储在其中。

0 投票
3 回答
1173 浏览

hash - 哈希冲突和附加数据

假设我有两个字符串(或字节数组)A 和 B,它们都具有相同的散列(散列是指 MD5 或 SHA1 之类的东西)。如果我在它后面连接另一个字符串,A+C 和 B+C 是否也具有相同的哈希 H'?C+A 和 C+B 会发生什么?

我用MD5对其进行了测试,在我的所有测试中,在末尾附加一些东西使哈希值相同,但在开头附加却没有。

这是否总是正确的(对于所有输入)?

对于所有(众所周知的)散列函数都是这样吗?如果不是,是否存在(众所周知的)散列函数,其中 A+C 和 B+C 不会碰撞(C+A 和 C+B 也不会)?

(除了MD5(x + reverse(x))我的意思是和其他构造的东西)

0 投票
2 回答
53600 浏览

md5 - MD5Sum 算法是如何工作的?

Md5sum 用于检查说 ubuntu 的 iso 映像的完整性。它是如何工作的?

0 投票
4 回答
328 浏览

ssl - 这对于传递密码是否可以接受?

我有一个网站,要求用户使用用户名和密码对自己进行身份验证。我想使用 SSL,但我没有 SSL 证书。但我会做一些我认为还可以的事情。

我的网站主要基于 AJAX 并且需要JavaScript,否则将无法正常工作。

当用户尝试登录时,我使用 AJAX 查询数据库以查找该用户名的盐,如果没有找到随机盐(以防止人们知道是否存在具有该用户名的用户) . 然后,使用 JavaScript 的 MD5 函数,我在客户端对密码进行 4K 次哈希和加盐(就像 Linux 在使用 MD5 进行密码哈希时所做的那样)客户端,然后我将该哈希以纯文本形式传递给服务器。然后,这个哈希值会再被哈希几次,并与数据库中的内容进行检查。

这安全吗?如果没有,我怎样才能在不为大部分内部网站的 SSL 证书支付现金的情况下保护它?