草庐IT

哈希切割

全部标签

java - 如何从三个 long 生成哈希码

我有一个以坐标作为键的HashMap。Coordinates有3个长整型,分别代表x、y和z坐标。(坐标是并且需要是自定义类,坐标需要是longs)。现在我希望能够访问例如字段[5,10,4]通过做:hashMap.get(newCoordinate(5,10,4)).我已经实现了equals方法,但这还不够,因为显然我还需要为hashCode提供一个实现。所以我的问题是如何从三个long生成唯一的hashCode?。附加:使用来自外部库的哈希生成器不是选项。 最佳答案 JoshuaBloch在chapter3中告诉您如何为Coor

java - 这是天真的等于,哈希码好吗?

我有一个代表具有唯一Id属性的DB条目的类。是否可以仅基于此属性实现equals()和hashcode()方法@OverridepublicinthashCode(){returnid;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!=obj.getClass())returnfalse;Taskother=(Task)obj;if(id!=other.id)returnfalse;returntrue;}

java - Java 中的 crypt(3) $6$ 密码哈希算法(基于 SHA-512)?

我正在寻找一个Java函数来生成/验证以crypt(3)方式编码的密码散列,当它们存储在Linux“/etc/shadow”文件中时如果sha512在“/etc/pam.d/common-password”中激活。明文字符串“geheim”将转换为:"$6$WoC532HB$LagBJ00vAGNGu8p9oeYDOSNZo9vTNTzOgPA.K0bJoiXfbcpj3jBuTkNwdzCrSNadRi8LanH1tH6tGGPPp/Lp3."来自http://www.akkadia.org/drepper/SHA-crypt.txt我知道,与MD5一样,它不仅仅是一个像Digest

java - 使用带有 key 的 ripemd160 在 Java 中模拟 php 函数 hash_hmac 中的字符串哈希

我正在尝试使用ripemd160对Java中的字符串进行哈希处理,以模拟以下php的输出:$string='string';$key='test';hash_hmac('ripemd160',$string,$key);//outputs:37241f2513c60ae4d9b3b8d0d30517445f451fa5尝试1最初我尝试使用以下方法来模拟它...但是我不认为可以使用ripemd160作为getInstance`算法?或者可能是,我只是没有在本地启用它?publicStringsignRequest(Stringuri,Stringsecret){try{byte[]key

什么是可哈希,哪些对象是可哈希的

一.什么是可哈希的在python中,可哈希通常指的是一个对象是否具有哈希值,且该哈希值在对象的生命周期内保持不变。哈希值是一个固定长度的整数,用于快速比较对象的相等性。对于可哈希的对象,可以使用内置的hash()函数获取其哈希值,例如:hash_value=hash((1,2,3))print(hash_value)在python中,不可变数据类型通常是可哈希的,而可变的数据类型通常是可哈希的.二.可哈希的对象:    1.不可变基本数据类型:        整数(int)                浮点数(float)                布尔值(bool)          

java - Freemarker:迭代哈希中的嵌套列表

我想迭代一个嵌套在一个Map中的List,数据结构是这样的:Map>groups=newTreeMap()//Somecodeelsetoputvaluesintogroups...自由标记模板:${groupKey}//It'sOKhere.//Exceptionthrewhere,detailmessageispastedbelow${item}详细异常消息:FreeMarkertemplateerror:For"...[...]"left-handoperand:Expectedasequenceorstringorsomethingautomaticallyconvertibl

Java:最简单的整数哈希

我需要一个快速的整数散列函数:inthash(intn){return...;}Java中是否已经存在一些东西?我需要的最少属性是:hash(n)&1在与一堆连续的n值一起使用时不会出现周期性。hash(n)&1为0或1的可能性大致相等。 最佳答案 HashMap,以及Guava的基于hash的utilities,在hashCode()结果上使用以下方法来改善位分布并防御较弱的哈希函数:/**ThismethodwaswrittenbyDougLeawithassistancefrommembersofJCP*JSR-166Expe

java - 完善的哈希函数和好处

考虑这个类:publicfinalclassMyDate{privateintyear,month,day;publicMyDate(intyear,intmonth,intday){this.year=year;this.month=month;this.day=day;}//Somestuff@OverridepublicinthashCode(){return((year这是一个完美的哈希函数,因为在内存中我们有:因此,在红色中,5位存储日(1到31),在黄色中,4位存储月(1到12),其他存储年(1到16777215)。完美的hashFunction有什么好处?据我所知,它可以

从根到叶:深度理解哈希表

​​​​​​​一.哈希表的概念关于查找元素时:在顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log2N),搜索的效率取决于搜索过程中元素的比较次数。理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。哈希表(HashTable:哈希表是一种使用哈希函数进行键值映射的数据结构,它将键(key)和值(valu

java - Java/Scala 中的高性能字符串哈希函数

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭去年。Improvethisquestion在Java/Scala中寻找高性能字符串散列函数-比MurmurHash家族的函数更快的东西,不需要加密强度高,只需要分布良好。有什么建议吗?