草庐IT

哈希表(HashTable)

全部标签

7、内网安全-横向移动&PTH哈希&PTT票据&PTK密匙&Kerberos&密码喷射

用途:个人学习笔记,有所借鉴,欢迎指正目录一、域横向移动-PTH-Mimikatz&NTLM1、Mimikatz2、impacket-at&ps&wmi&smb二、域横向移动-PTK-Mimikatz&AES256三、域横向移动-PTT-漏洞&Kekeo&Ticket 1、漏洞-MS14068(webadmin权限)——利用漏洞生成的用户的新身份票据尝试认证2、kekeo(高权限,需NTLM)——自己利用获取的NTLM生成新的票据尝试认证3、mimikatz(高权限,需Ticket)——利用历史遗留票据重新认证尝试四、Linux系统+Proxychains+CrackMapExec-密码喷射一

java - 哪种哈希算法可以用于重复内容验证?

我有一个xml文件,我需要在其中确定它是否重复。我将对整个xml文件进行哈希处理,或者使用xml文件中的特定xml节点生成某种哈希。md5适合这个吗?还是别的?生成哈希的速度也相当重要,但保证为唯一数据生成唯一哈希更为重要。 最佳答案 MD5已损坏(从某种意义上说,可能会故意生成散列冲突),如果您担心有人恶意创建一个与另一个文件具有相同哈希值的文件。请注意,哈希函数,就其本质而言,不能保证每个可能的输入都有唯一的哈希值。哈希函数的长度有限(例如:MD5的长度为128位,因此有2128种可能的哈希值)。您无法将潜在的无限域映射到有限的

java - boolean 字段上的哈希码实现

如果有两个boolean字段,我如何实现一个好的哈希码?通常人们只是将整数值添加到他们的哈希码值中。但是,如果我只是简单地将1或0添加到我的哈希码中,我认为这并不好。因为如果我有两个A类对象:obj1.b=true,obj1.c=false。obj2.b=假,obj2.c=真。其他都是一样的。那么这两个不相等对象的哈希码是相同的。我知道这种情况没问题。但是想象一下,如果有100个boolean字段,那么碰撞会太多吗?我不希望这么多不同的对象落在同一个桶里。我在下面所做的是将不同的数字分配给每个字段的不同真值,因此对象哈希码可以非常不同。publicclassA{privatefinal

java - 为哈希选择合适的表大小

如果我有一个1000的key集,我的哈希表的合适大小是多少,如何确定? 最佳答案 这取决于加载因子(表将增加其大小并重新分配其元素的“满百分比”点)。如果您知道恰好有1000个条目,并且这个数字永远不会改变,您可以将加载因子设置为1.0并将初始大小设置为1000以获得最大效率。如果您不确定确切的大小,您可以将加载因子保留为默认值0.75,并将初始大小设置为1334(预期大小/LF)以获得真正良好的性能,但需要付出一定的代价额外的内存。您可以使用以下构造函数来设置加载因子:Hashtable(intinitialCapacity,fl

哈希表在算法题目中的应用(Java)

目录哈希表知识回顾练习1:存在重复元素练习2:存在重复元素II练习3:两数之和练习4:判定是否互为字符重排练习5:字母异位词分组在本篇文章中,我们重点讲解哈希表在算法题目中的应用,不会涉及到太多哈希表的概念、原理等知识首先,我们先来简单回顾哈希表哈希表知识回顾哈希表是什么?哈希表是一种数据结构,用于存储键值对。通过将键转换为索引来实现快速的数据访问。具体而言,哈希表使用一个哈希函数将键映射到一个特定的索引,然后将值存储在该索引位置上。这样,在查找、插入或删除元素时,可以通过哈希函数直接计算出元素应该存储或者所在的位置,从而实现高效的数据操作。哈希表的查询、插入和删除操作的时间复杂度通常为O(1

java - 哈希表使用多少内存?

在Java中,如果我创建一个Hashtable将N个元素放入其中,会占用多少内存?如果它依赖于实现,什么是好的“猜测”? 最佳答案 编辑;天哪,我是个白痴,我提供的信息是HashMap,而不是HashTable。但是,在检查之后,出于内存目的,实现是相同的。这取决于您的VM的内部内存设置(项目打包、32位或64位指针以及字对齐/大小)并且不是由java指定的。可以找到有关估算内存使用情况的基本信息here.你可以这样估计:在32位虚拟机上,指针为4个字节,在64位虚拟机上,为8个字节。对象开销是8字节的内存(对于空对象,不包含任何内

java - 在 Java 中提供各种哈希算法(MD5、SHA1、SHA256 等)的库?

Maven存储库中是否有一个简单的Java库可以为流行的哈希函数(如MD5、SHA1、SHA256和SHA512)提供简单的单行哈希方法?我真的不想重新发明轮子来做到这一点。 最佳答案 DigestUtils类ApacheCommonsCodec适用于简化MessageDigest类的使用,这似乎是您首先尝试使用的。 关于java-在Java中提供各种哈希算法(MD5、SHA1、SHA256等)的库?,我们在StackOverflow上找到一个类似的问题: h

java - 如何在 Java 中生成共享相同哈希码的字符串?

现有的用Java编写的系统使用字符串的哈希码作为其负载平衡的路由策略。现在,我无法修改系统,但需要生成共享相同哈希码的字符串来测试最坏情况。我从命令行提供这些字符串,并希望系统将所有这些字符串路由到同一目的地。是否可以生成大量共享相同哈希码的字符串?为了弄清楚这个问题:String[]getStringsInSameHashCode(intnumber){//returnanarrayinlength"number"//Everyelementofthearraysharethesamehashcode.//Theelementshouldbedifferentfromeachothe

java - 从字符串中提取哈希标签

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我想提取String中#字符之后的所有单词,并将它们存储在String[]数组中。例如,如果这是我的String..."Arrayisthemost#importantthinginanyprogramming#language"然后我想将下面的单词提取到一个String[]数组中..."important""language"有人可以提供实现此目标的建议。

java - 如何在 Java 中创建哈希表?

在Java中创建哈希表(或关联数组...)最直接的方法是什么?我的google-fu已经找到了几个例子,但是有没有标准的方法来做到这一点?有没有一种方法可以用键->值对列表填充表,而无需为每个对分别调用对象上的添加方法? 最佳答案 Mapmap=newHashMap();Hashtableht=newHashtable();这两个类都可以从java.util包中找到。2之间的区别在下面解释jGuruFAQentry. 关于java-如何在Java中创建哈希表?,我们在StackOverf