當前位置:首頁 » 文件管理 » 不同解壓碼的哈希值

不同解壓碼的哈希值

發布時間: 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版的鏡像,最好是用主板的原裝驅動載入一下,這樣能讓電腦更穩定,
希望我的回答對你有所幫助,祝你成功,快樂~~

熱點內容
信號量編程 發布:2025-01-23 10:23:59 瀏覽:555
網易郵箱賬號和密碼哪裡查看 發布:2025-01-23 10:09:37 瀏覽:306
java資料庫下載 發布:2025-01-23 10:04:33 瀏覽:247
基岩版伺服器改地址 發布:2025-01-23 09:59:33 瀏覽:506
android獲取sim卡 發布:2025-01-23 09:48:49 瀏覽:178
快捷指令自動清理緩存 發布:2025-01-23 09:45:41 瀏覽:77
數據結構演算法實現及解析 發布:2025-01-23 09:33:22 瀏覽:153
4k視頻存儲卡 發布:2025-01-23 09:22:13 瀏覽:843
怎麼看筆記本配置好壞怎麼對比 發布:2025-01-23 08:50:00 瀏覽:514
安卓q用起來怎麼樣 發布:2025-01-23 08:49:14 瀏覽:294