问题标签 [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 - 我应该使用什么算法将密码散列到我的数据库中?
有没有什么东西是不容易破碎的?
excel - Excel VBA的密码哈希函数
我需要一个用 Excel VBA 编写的函数,该函数将使用 SHA-1 等标准算法对密码进行哈希处理。具有简单界面的东西,例如:
该功能需要在安装了 Excel 2003 的 XP 工作站上运行,否则不得使用第三方组件。它可以引用和使用 XP 提供的 DLL,例如 CryptoAPI。
有谁知道实现此散列功能的示例?
.net - Enterprise Library HashProvider 中的盐是什么?(SaltEnabled 键)
当我们设置 SaltEnabled 时,Microsoft Enterprise Library 的 HashProvider 中如何生成 salt?
新机器是随机的吗?这是一个神奇的数字吗?
(我知道什么是盐,问题是企业库 HashProvider 中的盐的实际值是多少)
algorithm - 最多 255 个字符的字符串的非冲突哈希算法
我正在寻找一种哈希算法,以创建尽可能接近字符串的唯一哈希(max len = 255),从而产生一个长整数(DWORD)。
我意识到26^255 >> 2^32,但也知道英语单词的数量远少于2^32。
我需要“散列”的字符串主要是单个单词或使用两个或三个单词的简单构造。
答案:
FNV 变体之一应满足您的要求。它们速度很快,并且产生相当均匀分布的输出。(由Arachnid回答)
java - 如何从对象的地址计算 hashCode()?
在 Java 中,我有一个Vertex
Java3D 类的子类Point3f
。现在根据其坐标值进行Point3f
计算,但对于我的类,我想更严格:两个顶点只有在它们是同一个对象时才相等。到现在为止还挺好:equals()
Vertex
我知道这违反了 的合同equals()
,但是因为我只会将顶点与其他顶点进行比较,所以这不是问题。
现在,为了能够将顶点放入 aHashMap
中,该hashCode()
方法必须返回与 一致的结果equals()
。它目前是这样做的,但它的返回值可能基于 的字段Point3f
,因此会为Vertex
具有相同坐标的不同对象提供哈希冲突。
因此,我想基于对象的地址,而不是从的字段hashCode()
中计算它。Vertex
我知道这个Object
类是这样做的,但我不能调用它的hashCode()
方法,因为Point3f
它会覆盖它。
所以,实际上我的问题是双重的:
- 我什至要这么浅
equals()
? - 如果是,那么,我如何获取对象的地址来计算哈希码?
编辑:我只是想到了一些东西......我可以int
在对象创建时生成一个随机值,并将其用于哈希码。这是一个好主意吗?为什么不)?
hash - GUID 的哈希值是否唯一?
我创建一个 GUID(作为字符串)并获取它的哈希值。我可以认为这个哈希是唯一的吗?
.net - HashSet 与 List 性能
很明显,泛型类的搜索性能HashSet<T>
高于泛型List<T>
类。只需将基于散列的键与List<T>
类中的线性方法进行比较。
然而,计算哈希键本身可能需要一些 CPU 周期,因此对于少量项目,线性搜索可以真正替代HashSet<T>
.
我的问题:盈亏平衡点在哪里?
为了简化场景(公平起见),让我们假设List<T>
该类使用元素的Equals()
方法来标识一个项目。
perl - 为什么在 Perl 中访问数组和哈希元素时需要 $?
既然在 Perl 中数组和散列只能包含标量,为什么在访问数组或散列元素时必须使用 $ 告诉解释器该值是标量?换句话说,假设你有一个 array@myarray
和一个 hash %myhash
,你为什么需要这样做:
而不仅仅是做:
为什么上面有歧义?
如果在那个地方不是 $ 的话,那不是非法的 Perl 代码吗?例如,在 Perl 中,以下所有内容不都是非法的吗?
c# - 散列敏感数据
我需要打乱我们拥有的 UAT 数据库中所有用户的名称和登录名。(由于数据保护法)
但是,有一个问题。
测试人员仍然需要能够使用散列登录名登录
因此,如果用户登录名是“Jesse.J.James”,那么哈希应该类似于
Ypois.X.Qasdf
即大致相同的长度,点在同一个地方
因此 MD5、sha1 等将不适合,因为它们会创建非常长的字符串,并且还会添加自己的特殊字符,例如 + 和 =,验证正则表达式不允许使用这些字符。
所以我正在寻找一些关于如何实现这一目标的建议
我想我需要推出自己的哈希算法
有人做过类似的事情吗?
我正在使用 c# 但我想这对算法并不那么重要
多谢
添加 -
感谢所有的答案。我认为我有责任在不需要做的时候使用“哈希”这个词来造成混乱
sql-server - 如何从 SQL Server 解密密码?
我在 sql server 2000 中有这个查询:
它输出一个加密的“AAAA”字符串:
如何转换(解密)来自其来源(即“AAAA”)的输出?