问题标签 [cryptographic-hash-function]
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.
.net - c# 中 System.Security.Cryptography.RNGCryptoServiceProvider 类中使用的算法是什么
可能这是一个愚蠢的问题,但它有点重要,因为我正处于技术审计和基于知识的问题的中间。
我正在查看 C# 4.0(使用 .net 框架 4.0)代码,想知道在 Microsoft 的 System.Security.Cryptography.RNGCryptoServiceProvider 类 GetBytes 方法实现中使用了什么算法。
强度可能是提供的字节缓冲区数,但我很困惑,无法确定 RNGCryptoServiceProvider 是否使用特定的知名算法或专有的 Microsoft。
我认为问题是直截了当的,我很想知道一个答案,它告诉记录算法的名称或信息是否是微软专有的。
php - PHP 加密与 asp.net 加密不匹配
这是.net的代码
在php中我使用下面的代码
但输出与.net 加密输出不匹配两者都不同
php - 在 Laravel 中使用 SHA 1 哈希
我想在 laravel 中使用 sha1 散列一些字符串。但无论字符串是什么,它们都返回相同的哈希值。拜托,我需要知道为什么会这样,或者我做错了什么。请参阅下面我的代码:
拜托,我需要帮助
java - 给定用于修改字符串的方法,如何将修改后的字符串反转回 MD5 哈希?
我正在使用一些 MD5 哈希值,这些哈希值已使用下面显示的方法转换为数字序列。给定下面的代码和示例哈希,我如何“反转”该getString()
方法的效果并将数字序列转换回 MD5 哈希?
例如,encrypt("umadbro");
返回“1518918615824625494170109603025017352201241”,因为 MD5 哈希是通过该getString()
方法传递的。“umadbro”的 MD5 哈希是 9759ba9ef6fe5eaa6d3c1efaad34c9f1。我需要一个方法,它接受由该getString()
方法修改的一串数字并将其转换为它的 MD5 哈希。例如:reverseMethod("1518918615824625494170109603025017352201241");
应该输出“9759ba9ef6fe5eaa6d3c1efaad34c9f1”(输入参数为修改后的数字串,输出为原字符串的MD5哈希)。注意:我不是在寻找破解 MD5 哈希的方法。我只需要一个反转下getString()
图所示方法效果的方法。
hash - 哈希表混淆 - 具有良好(例如加密)哈希函数的哈希表需要多少空间?
我正在学习哈希表、哈希映射等。我刚刚在 C 中实现了一个哈希表,其中包含操作:insert(HTable, key)
、、delete(HTable, key)
和。initialize(HTable)
search(HTable, key)
我想问一些事情。由于在(正确的)哈希表中计算的哈希索引可能非常大,这是否意味着消耗的空间将像INT_MAX
(当然仍然是 O(n))或更多?我的意思是给定我们想要存储在哈希表中(即插入)的输入元素,insert() 函数将调用哈希函数,然后计算要进入的元素的哈希索引。因此它将使用散列函数来找到这个索引。
当我们使用散列函数对元素进行操作时,散列索引可能会变得非常大。使用适当的,例如加密散列函数,这个索引可能会变得很大(他们使用 300 位的素数 - Diffie Hellman 公钥加密等),对吧?我知道在普通的散列函数中(例如初学者用来学习的琐碎函数)我们应用 mod 操作以使元素适合散列表的边界,但是这样做,也许我们限制了散列函数的潜力?
所以要将一个元素唯一地映射到哈希表,我们必须使用一个巨大的哈希表。这些加密哈希表是如何实现的?它们必须是完全安全的,对吧?甚至“cryptographichashfunction”上的 Stack Overflow 标签也表示极不可能找到将映射到同一元素的两个输入(因此发生冲突的可能性很小)。这不需要将一个巨大的数组存储在内存(或磁盘)中吗?因此,内存消耗将是巨大的。
当然,时间复杂度不是问题。我们只是看到哈希表/数组的起始地址加上索引,然后去内存中的那个地方获取值(O(1) - 哈希表的搜索原理)。
我在某个地方错了吗?有什么我想念的吗?我希望我说清楚了。因此,总而言之,我想对此进行确认。一个好的哈希函数是否需要一个巨大的数组(哈希表)以及如此大量的内存才能正确实现?这么大的空间是合理的,还是我不太明白?谢谢。
cryptography - 已知对 MD5 加密算法的明文攻击
我有一个纯文本及其密码文本。我知道使用的算法是 MD5。我想破解使用相同算法生成的所有密码文本。
有什么办法吗?
javascript - Javascript MD5 哈希计算
不幸的是,我一直在研究并尝试在这方面工作几天,但运气不佳,我正在尝试使用 Java 复制一个 C# 项目,因此获得完全相同的结果很重要,但到目前为止我失败了。
在 C# 中:
我设法得到
要按预期输出,尝试分解步骤,但从那里没有运气,它需要以字节为单位返回,在一个 16 的数组中。C# 将如何做到这一点,所以我可以按预期进一步操作它,这是项目中只有打嗝,因为当我将字节强制放入数组时,其他所有内容都会按应有的方式计算。
我试过使用 CryptoJS
并使用转换为字节数组
没有运气,也许上面的功能应该归咎于谁知道,我有点迷茫,花了比我应该花更多的时间,任何帮助都会很棒!
openssl - openssl 使用的密钥协商(或密钥派生)功能是什么?
我正在尝试将 openssl 代码替换为 CNG winapi 代码。下面是我拥有的准系统 openssl 代码。
上面的代码生成了一个 256 个字符的十六进制字符串(128 字节)的共享密钥。openssl 使用什么密钥协商函数来创建这样的密钥。提前致谢。
hash - 我认为是 MD5 哈希的 Eye-fi 卡需要密钥
我被一些 Eyefi 卡卡住了,因为制造商决定通过停止注册服务器来禁用它。我需要每张卡的 Uploadkey 才能使用它们。我可以获得卡的 MAC 地址,并且我相信哈希是使用这些地址(可能只是地址的右侧)加上盐生成的。这是一些正确的uploadkey和Mac addesses,任何人都可以帮助我找出我们如何使用MAC地址生成uploadkey。
我们中的许多人需要此密钥才能使用我们支付的卡...参考 https://www.os3.nl/_media/2013-2014/courses/ot/connor_stavros.pdf
security - 密码哈希函数的时间复杂度是多少?
假设是 MD5 还是 SHA-1?这两者的时间复杂度是多少?我试图在互联网上找到它,但它非常有限,我得到的只是它们都是 O(n)。谁能进一步启发我?也许给我一个最坏的情况和最好的情况?