Tag:

什么是短string(标签名称)最好的32位散列函数?

什么是相对较短的string最好的32位散列函数? string是由英文字母,数字,空格和一些附加字符( # , $ , . ,…)组成的标签名称。 例如: Unit testing , C# 2.0 。 我在“最小碰撞”中寻找“最好”,performance对于我的目标并不重要。

string相似度分数/散列

有没有一种方法来计算一个string的一般“相似性分数”? 在某种程度上,我不是比较两个string在一起,而是我得到一些数字(哈希)为每个string,可以稍后告诉我,两个string是或不相似的。 两个相似的string应该有相似的(接近)散列。 让我们以这些string和分数为例: Hello world 1000 Hello world! 1010 Hello earth 1125 Foo bar 3250 FooBarbar 3750 Foo Bar! 3300 Foo world! 2350 你可以看到Hello world! 和你好世界是相似的,他们的分数是相互接近的。 这样,find给定string的最相似的string将通过从其他分数中减去给定的string得分,然后对它们的绝对值进行sorting来完成。

快速和简单的哈希代码组合

人们可以推荐快速和简单的方法来组合两个对象的哈希代码。 我不太担心碰撞,因为我有一个哈希表,这将有效地处理我只是想尽快生成代码的东西。 围绕SO和networking来看,似乎有几个主要的候选人: 异或 与主乘法XORing 简单的数字操作,如乘/除(溢出检查或环绕) 构build一个String,然后使用String类的Hash Code方法 人们会推荐什么?为什么?

algorithm复杂性和安全性:MD5或SHA1?

就复杂性和安全性而言,哪个是最好的整体哈希algorithm? MD5或SHA1? 据我所知, MD5比SHA1快,但SHA1比MD5更复杂。 我错过了什么?

优惠券代码生成

我想要生成优惠券代码,例如AYB4ZZ2 。 不过,我也希望能够标记使用过的优惠券,并限制其全球数量,比方说N 天真的做法就像“生成N独特的字母数字代码,把它们放到数据库中,并对每个优惠券操作执行数据库search”。 然而,据我所知,我们也可以尝试find一个函数 MakeCoupon(n) ,它将给定的数字转换成一个具有预定义长度的类似优惠券的string。 据我所知, MakeCoupon应该满足以下要求: 是双面的。 这是反MakeNumber(coupon)应该是有效的可计算的。 MakeCoupon(n)输出应该是字母数字的,并且应该具有小的和恒定的长度 – 以便它可以被称为人类可读的 。 例如SHA1摘要不会通过这个要求。 实用的独特性。 对于每个自然n <= N , MakeCoupon(n)结果应该是完全唯一的或唯一的,例如, MD5是唯一的(具有相同的非常小的碰撞概率)。 (这是一个棘手的定义)如何从一个优惠券代码枚举所有剩余的优惠券不应该是显而易见的 – 比方说MakeCoupon(n)和MakeCoupon(n + 1)应该在视觉上有所不同。 例如MakeCoupon(n),它简单地输出n填充零将失败这个要求,因为000001和000002实际上并没有“视觉上”的差异。 问: 是否存在满足以下要求的函数或函数发生器? 我的search尝试只会把我带到[CPAN] CouponCode,但是它没有满足相应函数的双射要求。

为什么127号(总理)优于128的哈希表?

假设简单的统一散列,那么任何给定的值就像散列到散列的任何一个槽中一样。 为什么使用大小为127而不是128的表格更好? 我真的不明白2号码的力量有什么问题。 或者它实际上如何改变。 在使用除法的时候,我们通常会避免m(table size)的某些值。 例如,m不应该是2的幂,因为如果m = 2 ^ p,那么h(k)就是k的p个最低位。 假设可能的元素只在1到10000之间,我把表格大小选为128. 127怎么能更好? 所以128是2 ^ 6(1000000),127是0111111.这个有什么不同? 所有数字(散列时)仍然是127的k的最低位。 我有什么问题吗? 我正在寻找一些例子,因为我真的不明白为什么这是不好的。 提前感谢! PS:我知道: 哈希表:为什么大小应该是素数?

哪个更快,哈希查找或二进制search?

当给定一个静态的对象集(静态的意义上,一旦加载它很less如果有变化)需要重复的并发查找与最佳性能,哪个更好,一个HashMap或一个二进制search使用一些自定义比较? 答案是对象或结构types的函数吗? 哈希和/或相等的function性能? 哈希唯一性? 列表大小? Hashset集大小/集大小? 我正在看的集合的大小可以从500k到10m的任何地方 – 这些信息是有用的。 当我正在寻找C#答案时,我认为真正的math答案不在于语言,所以我不包括那个标签。 但是,如果有C#特定的东西需要知道,则需要该信息。

二叉树与链表与哈希表

我正在为我正在进行的一个项目build立一个符号表。 我想知道人们对各种可用于存储和创build符号表的方法的优缺点有何看法。 我已经做了一点search,最常见的是二叉树或链表或散列表。 以上所有的优点和缺点是什么? (使用C ++)

如何使用node.js Crypto创buildHMAC-SHA1哈希?

我想创build一个“ I love cupcakes ”(用“abcdeg”键签名) 我怎样才能使用Node.js Crypto创build哈希?

散列冲突和string性能方面的最佳散列algorithm

如果我们有以下优先级(按此顺序),最好的散列algorithm是什么: 最小的哈希碰撞 性能 它不一定要安全。 基本上我试图创build一个基于一些对象的属性组合的索引。 所有的属性都是string 。 任何引用的C#实现将不胜感激。