【Java中是否存在具有固定哈希长度的字符串的现成双向哈希函数?】教程文章相关的互联网学习教程文章

Java中是否存在具有固定哈希长度的字符串的现成双向哈希函数?【代码】

我需要对字符串使用哈希和增强(双向)功能.哈希值应为固定长度(5-6个符号). 例:String hashed = MagicHashLib.hash("long string"); //hash is hd45dk as an example String enhashedLongString = MagicHashLib.enhash(hash);Java中是否已经存在已实现的算法?还是我应该自己写?解决方法:无论编程语言如何,我都不认为存在此类哈希. 以下是hash function wikipedia page的报价:A hash function is any function that can be used ...

java-哈希函数何时相互正交?【代码】

哈希函数何时相互正交? 能否提供Java中两个相互正交的哈希函数的示例?解决方法:从(a Google search result paper) (正交哈希函数)两个哈希函数h1和h2是正交的, 如果对于所有状态s,s’∈S且h1(s)= h1(s’)和h2(s)= h2(s’) s = s’. S. Edelkamp,GPU上用于状态空间探索的完美哈希. 用英语来说,如果传递给两个不同的正交哈希函数的任何两个给定值导致相同的输出,则这些输入必须具有相同的值. 例:Let h and g be hash functi...

Java:哈希函数【代码】

我想知道我们是否实现了我们自己的hashmap,它不使用两个幂的长度哈希表(初始容量和每当我们重新调整大小),那么在这种情况下我们可以只使用对象的哈希码并直接修改总大小而不是使用哈希函数来散列对象的哈希码? 例如public V put(K key, V value) {if (key == null)return putForNullKey(value);// int hash = hash(key.hashCode()); original way//can we just use the key's hashcode if our table length is not power-of-t...

java – 使用加密哈希函数之前和之后

在查看了多个用于生成Java MD5和SHA *哈希的在线参考之后,我注意到纯文本(文件串)经历了某些准备工作之前和之后.在将其送入Digest对象以生成哈希值之后.具体来说,首先将数据转换为字节数组,然后将其提供给摘要,然后将输出哈希转换为十六进制流.为什么所有这些字节和十六进制转换? PS:我想答案与Java和Digest对象如何开展业务有关,而我在提出这个问题时的动机是理解这种行为,并可能获得一些文档/文献的参考资料. 丹科!解决方法:这...

java – 为LSH Minhash算法生成随机哈希函数【代码】

我正在用Java编写一个minhashing算法,它要求我生成任意数量的随机散列函数(在我的情况下为240个散列函数),并通过它运行任意数量的整数(目前为2000). 为了做到这一点,我一直在为240个散列函数中的每一个生成随机数a,b和c(从1到2001的范围).然后,我的哈希函数返回h =((a * x)b)%c,其中h是返回值,x是通过它运行的整数之一. 这是随机散列的有效实现,还是有更常见/可接受的方式来实现它? 这篇文章提出了类似的问题,但我仍然对答案的措...

java – 为同一个对象定义多个哈希函数

我有几个存储同一个类的对象的集合,但是我想为它们中的每一个指定一个不同的标识函数(即,如果Ax == Bx,则在一个集合A == B中,而在另一个集合A == B中)如果Ay == By). 目前我使用TreeSet,为每个TreeSet定义了不同的Comparators.我想知道如果我想切换到HashSets,可以做同样的事情. Java不允许以与允许Comparators进行排序/基于树的集合相同的方式传递单独的哈希函数.我能想到这样做的唯一方法是创建一个不同的包装类,并在每个HashSet...

java – SHA哈希函数给出负输出【代码】

我正在尝试实施DSA签名算法而且我遇到了问题.我正在使用java.security MessageDigest类,这里是代码:MessageDigest md; md = MessageDigest.getInstance("SHA-1"); md.update(text.getBytes()); return new BigInteger(md.digest());Text是一个随机的String对象.问题是这段代码给出了哈希的负值,这是算法不接受的.难道我做错了什么?提前致谢. 附:顺便说一下,我也试过在不使用BigIntegers的情况下实现DSA,这可能吗?我没有发现L和...

java – Spark是否在其集群中维护哈希函数?

hashCode的general contract说This integer need not remain consistent from one execution of an application to another execution of the same application.因此对于类似Spark的东西,每个执行器都有单独的JVM,它是否可以确保散列代码在整个群集中保持一致? 根据我的经验,我使用具有确定性哈希的东西,所以它不是一个问题.解决方法:In my experience I use things with deterministic hashes so it hasn’t been a problem.这确...