草庐IT

哈希表(HashTable)

全部标签

java - 如何使用java生成像apache的htpasswd这样的哈希

我在htpasswd中使用“强制对密码进行MD5加密”来生成一个哈希值,例如“123”,我得到:使用htpasswd:123=>$apr1$kaTbKaLO$ewJXRZAKpjaxK4thy2jOp/使用MD5摘要:123=>202cb962ac59075b964b07152d234b70请告诉我如何使用java生成像apachehtpasswd这样的哈希谢谢。 最佳答案 Apache.htpasswd文件中的密码使用salt编码.如果您想使用Java生成这些密码,则需要执行相同的操作。Thissite解释了用于Apache的.h

java - 如何为一个巨大的字符串列表计算一个好的哈希码?

一次性根据这些字符串的值计算哈希码的最佳方法是什么?好的,我的意思是它需要:1-快速:我需要获取大量短字符串列表(10^3..10^8项)的哈希码。2-识别整个数据列表如此多的列表可能只有几个不同的字符串必须有不同的哈希码如何用Java实现?也许有一种方法可以使用现有的字符串哈希码,但是如何合并为单独的字符串计算的许多哈希码?谢谢。 最佳答案 为您的字符串创建一个占位符类,然后使用CRC32class.它简单快速:importjava.util.zip.CRC32;publicclassHugeStringCollection{pr

Java将哈希值转换为随机字符串

我正在尝试开发一个在彩虹表生成器中使用的缩减函数。缩减函数背后的基本原理是它接受一个散列,执行一些计算,并返回一个特定长度的字符串。目前我正在使用SHA1哈希,我需要返回一个长度为三的字符串。我需要由以下任意三个随机字符组成的字符串:abcdefghijklmnopqrstuvwxyz0123456789我面临的主要问题是我编写的任何归约函数总是返回已经生成的字符串。一个好的归约函数只会很少返回重复的字符串。任何人都可以就实现此目标的方法提出任何想法吗?或者任何关于哈希到字符串操作的建议都会很棒。提前致谢乔希 最佳答案 听起来您需要

java - java中的哈希码桶分布

假设我需要在Hashset中存储1000个对象,我有1000个包含每个对象的桶(通过为每个对象生成唯一的哈希码值)还是有10个大约包含100个对象的桶更好?拥有独特桶的优势之一是我可以节省调用equals()方法的执行周期?为什么设置一定数量的桶并在其中尽可能均匀地分配对象很重要?理想的对象与桶的比例应该是多少? 最佳答案 Whyisitimportanttohavesetnumberofbucketsanddistributetheobjectsamoungthemasevenlyaspossible?HashSet应该能够平均在

java - 使用 Collections.sort() 时,它排序并打印哈希码

这个问题在这里已经有了答案:HowdoIprintmyJavaobjectwithoutgetting"SomeType@2f92e0f4"?(13个答案)关闭7年前。我正在处理一个示例,其中它使用ArrayList包含新实例并使用Collections.sort()方法使用可比较的接口(interface)。我不知道为什么它在排序时会打印出哈希码,也不知道我的代码中的错误在哪里。任何人都可以找出错误并详细解释我。SortFruitObject.javaimportjava.util.*;publicclassSortFruitObject{publicstaticvoidmain(S

Java Hashtable#hashCode() 实现坏了?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我想知道当Hashtable仅包含每对具有相同键和值的条目时,Java的Hashtable#hashCode()的默认实现是否被破坏。例如,请参见以下应用程序:publicclassHashtableHash{publicstaticvoidmain(finalString[]args){finalHashtableht=newHashtable();f

2 个哈希的 Java 哈希

我有两个对象列表,用户和产品用户拥有产品,每个产品关联到1个用户但是一个产品类型可以是多个并且由不同的用户拥有用户:Ed、Rob产品:古柯、雪碧(1)、雪碧(2)、啤酒Ed有Coca和Sprites(1)、RobSprites(2)和啤酒我需要为每个唯一(用户+产品)生成一个id这可能不是一个好主意user.hashCode()+product.hashCode()什么是继续进行的好方法? 最佳答案 如果用户和产品都创建伪随机散列码,您的hashCode并没有那么糟糕。如果您担心由于user或product中的错误hashCode实

Java 链接哈希集

我一直在学习OCJP(以前的SCJP),我遇到了以下使用LinkedHashSet的示例:publicclassTest{intsize;publicTest(ints){this.size=s;}@Overridepublicbooleanequals(Objectobj){return(this.size==((Test)obj).size);}publicstaticvoidmain(String[]args){LinkedHashSets=newLinkedHashSet();s.add(newTest(1));s.add(newTest(2));s.add(newTest(1

java - 序列化哈希表,Java

我以前从未使用过序列化。我想除了我的“Q”大小写转换的最后一部分外,其他都没有问题。publicclassTest{publicstaticvoidmain(Stringargs[]){Storestore=newStore();FileOutputStreamfos;ObjectOutputStreamoos=null;try{fos=newFileOutputStream(newFile("table.obj"));oos=newObjectOutputStream(fos);}catch(IOExceptione1){e1.printStackTrace();}这继续包含更多代码

java - 获取哈希表中最小值的键

我在Java中有一个哈希表,如下所示,我正在尝试获取具有最小值的键。显然我可以遍历所有元素来找到它,但是有没有更简单的方法来做到这一点?Hashtablehash=newHashtable(); 最佳答案 使用哈希表,不。但是您可以改用TreeMap.ARed-BlacktreebasedNavigableMapimplementation.Themapissortedaccordingtothenaturalorderingofitskeys,orbyaComparatorprovidedatmapcreationtime,dep