问题标签 [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 投票
6 回答
5685 浏览

c# - php md5 算法给出与 c# 相同的结果

我在 C# 中有一个哈希算法,简而言之,它是:

现在我需要在 php 中复制这种行为,

我怎样才能实现它?

我检查了

  • md5
  • utf8_decode
  • utf8_encode
  • base64_encode
  • base64_decode
  • url_decode

但我注意到 php md5 最后没有得到 == ......我错过了什么?

注意:我无法更改 C# 行为,因为它已经实现并且使用此算法将密码保存在我的数据库中。

0 投票
2 回答
3125 浏览

php - PHP 的 md5() 的 Javascript 等价物也适用于多字节字符串?

编辑: 问题中提到的脚本,以及答案中指出的另一个脚本,都适用于多字节字符串 - 结果我的问题出在其他地方。

有谁知道这样的实现?http://phpjs.org/functions/view/469上的脚本运行良好,只是不适用于多字节字符串。

0 投票
3 回答
3611 浏览

hash - 是否有任何已发表的研究表明对 MD5 的原像攻击迫在眉睫?

我继续阅读关于 MD5 已损坏、破产、过时且永远不会使用的信息。这让我很生气。

事实上,对 MD5 的碰撞攻击现在相当容易。有些人将碰撞攻击归结为一门艺术,甚至我们可以用它们来预测选举

我发现大多数MD5“破碎”的例子都不那么有趣。即使是著名的 CA 证书黑客攻击也是一种碰撞攻击,这意味着可以证明该方同时生成了 GOOD 和 EVIL 证书。这意味着,如果 EVIL CA 进入野外,则可以证明它是从拥有良好 CA 的人那里泄露出来的,因此无论如何都是值得信任的。

更令人担忧的是原或第二原像攻击。

对 MD5 进行原像攻击的可能性有多大?目前是否有任何研究表明它迫在眉睫?MD5 易受碰撞攻击这一事实是否使其更容易遭受原像攻击?

0 投票
6 回答
47838 浏览

c# - C# MD5 哈希器示例

编辑:我已将其重命名为示例,因为代码按预期工作。

我正在尝试复制文件,获取 MD5 哈希,然后删除副本。我这样做是为了避免另一个应用程序写入的原始文件的进程锁定。但是,我正在锁定我复制的文件。

然后我得到一个'进程无法访问文件'异常File.Delete()'。

我希望通过该using声明,文件流将很好地关闭。我也尝试过单独声明文件流,删除,并在读取后using放置fs.Close()和。fs.Dispose()

在此之后,我注释掉了实际的 md5 计算,代码执行,文件被删除,所以看起来它与ComputeHash(fs).

0 投票
2 回答
1541 浏览

c++ - 给定文件名,如何使用 Crypto++ 获取 Adler32

给定一个“字符串文件名”,如何使用 C++ Crypto++ 库获取 Adler32 校验和。我对使用他们的 Source 和 Sink 系统有点困惑。

下面我有执行 MD5 的代码骨架,但我似乎找不到任何有关 Adler32 用法的示例或教程。


好的示例和示例代码在这里http://www.cryptopp.com/wiki/Category:所有 Crypto++ 的示例(除了我想要的 Adler32 东西)

0 投票
2 回答
2288 浏览

iphone - 用于 Iphone 的 Gravatar?如何生成十六进制 MD5 哈希?

我想在我的 iPhone 应用程序中使用gravatar 。无论如何在 iPhone 的 Objective-C 中生成十六进制 MD5 哈希?在 iPhone 上使用 openssl 是不行的。

0 投票
2 回答
426 浏览

language-agnostic - 如何使用 md5 计算碰撞的可能性?

我有长度可以在 1 到 256 个字符之间变化的键*;如何计算使用md5时任意两个键发生碰撞的概率(尝试每个键的蛮力解决方案)?

*字符集仅限于[a-z.-]

0 投票
3 回答
2555 浏览

language-agnostic - md5 哈希的前 32 位是否与任何其他子字符串一样“随机”?

我正在寻找创建一些数据对象的 32 位散列。由于我不想编写自己的散列函数并且 md5 可用,我目前的方法是使用 md5 散列的前 32 位(即前 8 个十六进制数字)。这可以接受吗?

换句话说,md5 散列的前 32 位是否与任何其他子串一样“随机”? 或者有什么理由我更喜欢最后 32 位?或者也许将四个 32 位子字符串异或在一起?

一些先发制人的澄清:

  • 这些哈希不需要是加密安全的。
  • 我不关心 md5 的性能——它的速度足以满足我的需要。
  • 这些散列只需要足够“随机”,以至于很少发生冲突。
  • 在这个系统中,项目的数量不应超过 10,000(实际上它可能不会达到那么高的一半)。所以在最坏的情况下,遇到任何冲突的概率应该是大约 1%(假设找到了一​​个足够“随机”的散列)。
0 投票
5 回答
26129 浏览

language-agnostic - 如何评估哈希冲突概率?

我正在为搜索系统开发一个后端应用程序。搜索系统将文件复制到一个临时目录并给它们随机命名。然后它将临时文件的名称传递给我的应用程序。我的应用程序必须在有限的时间内处理每个文件,否则它会被关闭——这是一种类似看门狗的安全措施。处理文件可能需要很长时间,因此我需要设计能够处理这种情况的应用程序。如果我的应用程序在下次搜索系统想要索引同一个文件时关闭,它可能会给它一个不同的临时名称。

显而易见的解决方案是在搜索系统和后端之间提供一个中间层。它将请求排队到后端并等待结果到达。如果请求在中间层超时 - 没问题,后端将继续工作,只有中间层重新启动,当搜索系统稍后重复请求时,它可以从后端检索结果。

问题是如何识别文件。他们的名字随机变化。我打算使用像 MD5 这样的散列函数来散列文件内容。我很清楚生日悖论,并使用链接文章中的估计来计算概率。如果我假设我的文件不超过 100 000 个,则两个文件具有相同 MD5(128 位)的概率约为 1,47x10 -29

我应该关心这种冲突概率还是只是假设相等的哈希值意味着相等的文件内容?

0 投票
5 回答
10953 浏览

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

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

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

谢谢你的时间。

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