当前位置:首页 » 文件管理 » 不同解压码的哈希值

不同解压码的哈希值

发布时间: 2022-05-28 08:19:21

⑴ 哈希值 是什么

HASH是根据文件的内容的数据通过逻辑运算得到的数值, 不同的文件(即使是相同的文件名)得到的HASH值是不同的, 所以HASH值就成了每一个文件在EMULE里的身份证.

不同HASH值的文件在EMULE里被认为是不同的文件,相同的HASH值的文件的内容肯定是完全相同(即使文件名不同).

HASH值还有文件校验的功能,相当于文件的校验码. 所以还可以用来检查文件下载是否正确(所以EMULE下载完毕时,都会在HASH文件一遍, 检查文件是否出错)

⑵ 哈希值是什么

哈希表类Hashtable

哈希表是一种重要的存储方式,也是一种常见的检索方法。其基本思想是将关系码的值作为自变量,通过一定的函数关系计算出对应的函数值,把这个数值解释为结点的存储地址,将结点存入计算得到存储地址所对应的存储单元。检索时采用检索关键码的方法。现在哈希表有一套完整的算法来进行插入、删除和解决冲突。在java中哈希表用于存储对象,实现快速检索。
Java.util.Hashtable提供了种方法让用户使用哈希表,而不需要考虑其哈希表真正如何工作。
哈希表类中提供了三种构造方法,分别是:
public Hashtable()
public Hashtable(int initialcapacity)
public Hashtable(int initialCapacity,float loadFactor)
参数initialCapacity是Hashtable的初始容量,它的值应大于0。loadFactor又称装载因子,是一个0.0到1之间的float型的浮点数。它是一个百分比,表明了哈希表何时需要扩充,例如,有一哈希表,容量为100,而装载因子为0.9,那么当哈希表90%的容量已被使用时,此哈希表会自动扩充成一个更大的哈希表。如果用户不赋这些参数,系统会自动进行处理,而不需要用户操心。
Hashtable提供了基本的插入、检索等方法。
■插入
public synchronized void put(Object key,Object value)
给对象value设定一关键字key,并将其加到Hashtable中。若此关键字已经存在,则将此关键字对应的旧对象更新为新的对象Value。这表明在哈希表中相同的关键字不可能对应不同的对象(从哈希表的基本思想来看,这也是显而易见的)。
■检索
public synchronized Object get(Object key)
根据给定关键字key获取相对应的对象。
public synchronized boolean containsKey(Object key)
判断哈希表中是否包含关键字key。
public synchronized boolean contains(Object value)
判断value是否是哈希表中的一个元素。
■删除
public synchronized object remove(object key)
从哈希表中删除关键字key所对应的对象。
public synchronized void clear()
清除哈希表
另外,Hashtalbe还提供方法获取相对应的枚举集合:
public synchronized Enumeration keys()
返回关键字对应的枚举对象。
public synchronized Enumeration elements()
返回元素对应的枚举对象。
例1.5 Hashtable.java给出了使用Hashtable的例子。
例1.5 Hashtalbe.java。
//import java.lang.*;
import java.util.Hashtable;
import java.util.Enumeration;
public class HashApp{
public static void main(String args[]){
Hashtable hash=new Hashtable(2,(float)0.8);
//创建了一个哈希表的对象hash,初始容量为2,装载因子为0.8

hash.put("Jiangsu","Nanjing");
//将字符串对象“Jiangsu”给定一关键字“Nanjing”,并将它加入hash
hash.put("Beijing","Beijing");
hash.put("Zhejiang","Hangzhou");

System.out.println("The hashtable hash1 is: "+hash);
System.out.println("The size of this hash table is "+hash.size());
//打印hash的内容和大小

Enumeration enum1=hash.elements();
System.out.print("The element of hash is: ");
while(enum1.hasMoreElements())
System.out.print(enum1.nextElement()+" ");
System.out.println();
//依次打印hash中的内容
if(hash.containsKey("Jiangsu"))
System.out.println("The capatial of Jiangsu is "+hash.get("Jiangsu"));
hash.remove("Beijing");
//删除关键字Beijing对应对象
System.out.println("The hashtable hash2 is: "+hash);
System.out.println("The size of this hash table is "+hash.size());
}
}

运行结果:
The hashtable hash1 is: {Beijing=Beijing, Zhejiang=Hangzhou, Jiangsu=Nanjing}
The size of this hash table is 3
The element of hash is: Beijing Hangzhou Nanjing
The capatial of Jiangsu is Nanjing
The hashtable hash2 is: {Zhejiang=Hangzhou, Jiangsu=Nanjing}
The size of this hash table is 2

Hashtable是Dictionary(字典)类的子类。在字典类中就把关键字对应到数据值。字典类是一个抽象类。在java.util中还有一个类Properties,它是Hashtable的子类。用它可以进行与对象属性相关的操作。

压缩文件会改变文件哈希值吗

不相同,那是两个值了。
只要压缩包的值一致,那就没问题了。

⑷ 很懂哈希值(SHA1)的高手请进

简单的说sha1叫做文件指纹和md5的功能是一样的,是一个不可逆算法,同一个文件生成的值是一样的。但是只要稍微修改,或重新压缩(只本来就是压缩文件,解压缩后重新压缩),都会有变化。但是拷贝和传输不会使其变化。

如果你发现sha1不同,只能证明他和官方的文件不同。没有别的。

不同的原因可能是被修改过,也可能是iso刻成盘后,又从光盘抓录成iso这样虽然文件内容一样但是,毕竟不是同一个文件,所以sha1码也不同。

另外注意一下下载下来的是不是 rar的,那样要解压缩成iso在试验iso的哈希值。

⑸ 很想知道如果一个压缩文件的解压密码不同 hash值会不会相同

密码不同 hash值一定不会相同!再压缩回去就没试过了

这个问题 很容易找答案 找个文件一下就试出来了

上传下载文件时常见的hash值,sha1值,还有md5是不是一回事

HASH是根据文件的内容的数据通过逻辑运算得到的数值, 不同的文件(即使是相同的文件名)得到的HASH值是不同的, 所以HASH值就成了每一个文件在EMULE里的身份证. 不同HASH值的文件在EMULE里被认为是不同的文件,相同的HASH值的文件的内容肯定是完全相同(即使文件名不同). HASH值还有文件校验的功能,相当于文件的校验码. 所以还可以用来检查文件下载是否正确(所以EMULE下载完毕时,都会在HASH文件一遍, 检查文件是否出错)
打个比喻,文件的SHA1值就像人的指纹,是文件的数字指纹,是唯一的,一个文件对应一个唯一的SHA1值,一般用来确认你的文件和官方发布的是否一致.如果官方原版文件被别人做过手脚,那么算出来的SHA1值就会不同.所以SHA1值是用来“验明正身”的。有些居心叵测的人在官方系统光盘里面加入木马程序、广告程序等,然后再放出来给人下载,如果你不检查SHA1值就贸然安装就中招了,可以在网上下载一个数字指纹检验器来计算你下载回来的win7系统文件的SHA1值,然后到微软的MSDN去查看官方发布的SHA1值,如果两者相等,说明你下载的文件是和官方提供的是一样的,你可以放心的安装了。这就是SHA1值的用处,其他地方不用SHA1值的。

操作系统的ISO文件一般可以直接刻盘安装,不用解压出来。为了保险起见你最好用“UltraISO”软件打开你的ISO文件,如果显示为“可启动XX文件”那么你就放心直接刻录吧。
MD5的
md5
典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
MD5 (tanajiya.tar.gz) =
这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
我们常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。

⑺ 两个不同文件的哈希值可能是一样的吗

有可能相同的,简单哈希值为32位无符号也就是16进制0xFFFFFFFF
那么当你有0xFFFFFFFF+1个完全不同的文件时,那它这时是不是就没有无重复值可用了是吧。那么这时100%有1个以上的文件与其他文件值重复。
那你要说有128位的哈希值,我同样128位数的不重复文件再+1个,结果不是和这32位的一样。
所以这种东西可能出现重复,但你应该不可能正好遇到如:1个1GB的文件 与 1个1MB的木马 出现同一哈希值的情况。

⑻ 哈希码值是什么 什么是哈希码 转 详细03麻烦告诉我

哈希码值是什么 什么是哈希码 转 哈希码值是什么?什么事哈希码?哈希值,私钥加密和公钥加密1.哈希值哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。消息身份验证代码(MAC)哈希函数通常与数字签名一起用于对数据进行签名,而消息检测代码(MDC)哈希函数则用于数据完整性。小红和小明可按下面的方式使用哈希函数以确保数据完整性。如果小红对小明编写一条消息并创建该消息的哈希,则小明可以在稍后散列该消息并将他的哈希与原始哈希进行比较。如果两个哈希值相同,则该消息没有被更改;但是,如果值不相同,则该消息在小红编写它之后已被更改。为了使此系统运行,小红必须对除小明外的所有人保密原始的哈希值。.NET Framework 提供以下实现数字签名算法的类:HMACSHA1 MACTripleDES MD5CryptoServiceProvider SHA1Managed SHA256Managed SHA384Managed SHA512Managed 随机数生成随机数生成是许多加密操作不可分割的组成部分。例如,加密密钥需要尽可能地随机,以便使生成的密钥很难再现。加密随机数生成器必须生成无法以计算方法推算出(低于p.05 的概率)的输出;即,任何推算下一个输出位的方法不得比随机猜测具有更高的成功概率。.NET Framework 中的类使用随机数生成器生成加密密钥。 RNGCryptoServiceProvider 是随机数生成器算法的实现。2.私钥加密私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。通常,私钥算法(称为块密码)用于一次加密一个数据块。块密码(如RC2、DES、TrippleDES 和 Rijndael)通过加密将n 字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于n 的大小很小(对于RC2、DES 和 TripleDES,n=8 字节;n=16[默认值];n=24;对于Rijndael,n=32),因此必须对大于n 字节的值一次加密一个块。基类库中提供的块密码类使用称作密码块链(CBC)的链模式,它使用一个密钥和一个初始化向量(IV)对数据执行加密转 换。对于给定的私钥k,一个未使用初始化向量的简单块密码将把相同的明文输入块加密为同样的密文输出块。如果在明文流内有重复的块,那么在密文流内也会有重复的块。如果未经授权的用户知道有关明文块的结构的所有信息,就可以使用该信息解密已知的密文块并有可能获得您的密钥。若要克服这个问题,可将上一个块中的信息混合到加密下一个块的过程中。这样,两个相同的明文块的输出就会不同。由于该技术使用上一个块加密下一个块,因此使用了一个IV 来加密数据的第一个块。使用该系统,未经授权的用户有可能知道的公共消息标头将无法用于对密钥进行反向工程。可以危及用此类型密码加密的数据的一个方法是,对每个可能的密钥执行穷举搜索。根据用于执行加密的密钥大小,即使使用最快的计算机执行这种搜索,也极其耗时,因此难以实施。使用较大的密钥大小将使解密更加困难。虽然从理论上说加密不会使对手无法检索加密的数据,但它确实极大增加了这样做的成本。如果执行彻底搜索来检索只在几天内有意义的数据需要花费三个月的时间,那么穷举搜索的方法是不实用的。私钥加密的缺点是它假定双方已就密钥和IV 达成协议,并且互相传达了密钥和IV 的值。并且,密钥必须对未经授权的用户保密。由于存在这些问题,私钥加密通常与公钥加密一起使用,来秘密地传达密钥和IV 的值。假设小红和小明是要在不安全的信道上进行通信的双方,他们可能按以下方式使用私钥加密。小红和小明都同意使用一种具有特定密钥和 IV 的特定算法(如 Rijndael)。小红撰写一条消息并创建要在其上发送该消息的网络流。接下来,她使用该密钥和IV 加密该文本,并通过Internet 发送该文本。她没有将密钥和IV 发送给小明。小明收到该加密文本并使用预先商定的密钥和IV 对它进行解密。如果该传输被截获,截获者将无法恢复原始消息,原因是截获者不知道密钥或IV。在这个方案中,密钥必须保密,但IV 不需要保密。在一个实际方案中,将由小红或小明生成私钥并使用公钥(不对称)加密将该私钥(对称)传递给对方。有关更多信息,请参见"公钥加密"。.NET Framework 提供以下实现私钥加密算法的类: DESCryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged 3.公钥加密公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以被任何人使用;该密钥用于加密要发送到私钥持有者的数据。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。公钥加密算法使用 固定的缓冲区大小,而私钥加密算法使用长度可变的缓冲区。公钥算法无法像私钥算法那样将数据链接起来成为流,原因是它只可以加密少量数据。因此,不对称操作不使用与对称操作相同的流模型。双方(小红和小明)可以按照下列方式使用公钥加密。首先,小红生成一个公钥/私钥对。如果小明想要给小红发送一条加密的消息,他将向她索要她的公钥。小红通过不安全的网络将她的公钥发送给小明,小明接着使用该密钥加密消息。(如果小明在不安全的信道如公共网络上收到小红的密钥,则小明必须同小红验证他具有她的公钥的正确副本。)小明将加密的消息发送给小红,而小红使用她的私钥解密该消息。但是,在传输小红的公钥期间,未经授权的代理可能截获该密钥。而且,同一代理可能截获来自小明的加密消息。但是,该代理无法用公钥解密该消息。该消息只能用小红的私钥解密,而该私钥没有被传输。小红不使用她的私钥加密给小明的答复消息,原因是任何具有该公钥的人都可以解密该消息。如果小红想要将消息发送回小明,她将向小明索要他的公钥并使用该公钥加密她的消息。然后,小明使用与他相关联的私钥来解密该消息。在一个实际方案中,小红和小明使用公钥(不对称)加密来传输私(对称)钥,而对他们的会话的其余部分使用私钥加密。公钥加密具有更大的密钥空间(或密钥的可能值范围),因此不大容易受到对每个可能密钥都进行尝试的穷举攻击的影响。由于不必保护公钥,因此它易于分发。公钥算法可用于创建数字签名以验证数据发送方的标识。但是,公钥算法非常缓慢(与私钥算法相比),不适合用来加密大量数据。公钥算法仅对传输很少量的数据有用。

⑼ 文件的哈希值事什么意思

HASH是根据文件的内容的数据通过逻辑运算得到的数值, 不同的文件(即使是相同的文件名)得到的HASH值是不同的, 所以HASH值就成了每一个文件在EMULE里的身份证.

不同HASH值的文件在EMULE里被认为是不同的文件,相同的HASH值的文件的内容肯定是完全相同(即使文件名不同).

HASH值还有文件校验的功能,相当于文件的校验码. 所以还可以用来检查文件下载是否正确(所以EMULE下载完毕时,都会在HASH文件一遍, 检查文件是否出错)
参考资料:http://..com/question/7280243.html

⑽ 系统镜像解压后再次封装的哈希值和以前的一样吗

朋友,你好,系统镜像的ISO文件不是解压,解压得到的不是系统镜像文件,而是要通过一个软件叫UltraISO,用它来提取得到GHO文件,然后再次封装会有小量不同的,但绝大多数是相同的。不过如果用GHOST版的镜像,最好是用主板的原装驱动加载一下,这样能让电脑更稳定,
希望我的回答对你有所帮助,祝你成功,快乐~~

热点内容
nas网络服务器为什么贵 发布:2025-01-23 08:00:00 浏览:940
语音服务器未连接如何连接视频 发布:2025-01-23 07:59:11 浏览:882
日流量10万需要什么类型服务器 发布:2025-01-23 07:58:27 浏览:500
服务器获取地址失败 发布:2025-01-23 07:55:18 浏览:849
java修饰 发布:2025-01-23 07:45:03 浏览:183
oppor9s照片加密 发布:2025-01-23 07:37:57 浏览:712
javahtml乱码 发布:2025-01-23 07:37:56 浏览:539
sqlserverc 发布:2025-01-23 07:34:15 浏览:699
mysql怎么用数据库 发布:2025-01-23 07:21:02 浏览:998
怎么访问暗网 发布:2025-01-23 07:02:04 浏览:666