Tag: 哈希

如何查找浏览器是否支持History.Pushstate?

我想在不重新加载页面的情况下更改url。 我find的可能解决scheme是 window.history.pushState('page2','Title','/page2.php'); 但有些浏览器如Firefox 3.5,IE6 +不支持这个,所以对于他们来说解决scheme是 var uri = window.location.href; 但问题是如何发现,如果浏览器支持history.pushstate或不? 是TRY CATCH是可能的解决scheme或其他任何事情。

如何sortingHashSet?

对于列表,我们使用Collections.sort(List)方法。 如果我们想要对HashSet进行sorting呢?

我怎样才能看到一个Perl哈希已经有一个特定的关键?

我有一个Perl脚本来计算文本文件中各种string的出现次数。 我希望能够检查某个string是否还不是散列中的关键字。 有没有更好的方法来完成这一切? 这是我在做什么: foreach $line (@lines){ if(($line =~ m|my regex|) ) { $string = $1; if ($string is not a key in %strings) # "strings" is an associative array { $strings{$string} = 1; } else { $n = ($strings{$string}); $strings{$string} = $n +1; } } }

C#为什么等号可能产生不相等的哈希值?

我们遇到了一个魔法十进制数,打破了我们的哈希表。 我把它归结为以下最小的情况: decimal d0 = 295.50000000000000000000000000m; decimal d1 = 295.5m; Console.WriteLine("{0} == {1} : {2}", d0, d1, (d0 == d1)); Console.WriteLine("0x{0:X8} == 0x{1:X8} : {2}", d0.GetHashCode(), d1.GetHashCode() , (d0.GetHashCode() == d1.GetHashCode())); 给出以下输出: 295.50000000000000000000000000 == 295.5 : True 0xBF8D880F == 0x40727800 : False 真正奇怪的是:更改,添加或删除d0中的任何数字,问题就消失了。 即使添加或删除一个尾随零! 标志似乎并不重要。 我们的解决办法是将值除以尾随的零,如下所示: decimal d0 = 295.50000000000000000000000000m / 1.000000000000000000000000000000000m; 但是我的问题是,C#如何做错了?

为什么以及如何Python函数可散列?

我最近在Python中尝试了以下命令: >>> {lambda x: 1: 'a'} {<function __main__.<lambda>>: 'a'} >>> def p(x): return 1 >>> {p: 'a'} {<function __main__.p>: 'a'} 这两个dict创作的成功表明,lambda函数和常规函数都是可散列的。 (类似于{[]: 'a'} TypeError: unhashable type: 'list' )失败。 散列显然不一定是函数的ID: >>> m = lambda x: 1 >>> id(m) 140643045241584 >>> hash(m) 8790190327599 >>> m.__hash__() 8790190327599 最后一个命令显示__hash__方法是为lambda明确定义的,也就是说,这不是Python根据types计算的一些自动操作的东西。 背后的动机是什么? 对于奖金,函数的散列是什么?

如何实现C#string的GetHashCode()?

我只是好奇,因为我猜它会影响性能。 它考虑完整的string吗? 如果是的话,长串会慢。 如果只考虑string的一部分,那么性能会很差(例如,如果只考虑string的开始,如果HashSet包含大部分相同的string,则性能会很差。

如何通过一组新的给定键来改变散列的所有键

如何通过一组新的给定密钥更改散列的所有密钥? 有没有办法做到这一点优雅?

如何生成像“aX4j9Z”(在JS中)

对于我的web应用程序(在JavaScript中)我想生成简短的GUID(对于不同的对象 – 实际上是不同的types – string和string数组) 我想为我的uids(guids)这样的“aX4j9Z”。 所以这些用户界面应该足够轻量级,用于网页传输和jsstring处理,而且对于不是一个巨大的结构(不超过10k个元素)来说是相当独特的。 通过说“非常独特”,我的意思是,在uid的产生之后,我可以检查这个uid是否已经存在于结构中,如果是的话就重新生成。 我会appriciate任何意见。

用C#中的SHA1algorithm散列

我想使用SHA1Managed使用SHA1algorithm散列给定的byte[]数组。 byte[]散列将来自unit testing。 预期的散列是0d71ee4472658cd5874c5578410a9d8611fc9aef (区分大小写)。 我怎样才能做到这一点? public string Hash(byte [] temp) { using (SHA1Managed sha1 = new SHA1Managed()) { } }

制作一个python用户定义的类可sorting,可sorting

在python中使用用户定义的类可sorting和/或可sorting时,需要重写/实现哪些方法? 有什么需要注意的? 我在我的解释器中键入dir({})以获取内置字典中的方法列表。 其中,我假设我需要一些实现一些子集 ['__cmp__', '__eq__', '__ge__', '__gt__', '__hash__', '__le__', '__lt__', '__ne__'] Python3与Python2相比,在哪些方法中必须实现差异?