① MD5、sha1、sha256分別輸出多少位
MD5 SHA1 SHA256 這3種本質都是摘要函數,它們的長度 MD5 是 128 位,SHA1 是 160 位 ,SHA256 是 256 位。
MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
對於長度小於2^64位的消息,SHA1會產生一個160位的消息摘要。當接收到消息的時候,這個消息摘要可以用來驗證數據的完整性。
哈希值用作表示大量數據的固定大小的唯一值。數據的少量更改會在哈希值中產生不可預知的大量更改。SHA256 演算法的哈希值大小為 256 位。
(1)sha1密碼演算法擴展閱讀
MD5演算法的應用:
1、一致性驗證
MD5可以為任何文件(不管其大小、格式、數量)產生一個同樣獨一無二的「數字指紋」,如果任何人對文件做了任何改動,其MD5值也就是對應的「數字指紋」都會發生變化。
利用MD5演算法來進行文件校驗的方案被大量應用到軟體下載站、論壇資料庫、系統文件安全等方面。
2、數字簽名
MD5的典型應用是對一段Message(位元組串)產生fingerprint(指紋),以防止被「篡改」。
舉個例子,你將一段話寫在一個叫 readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然後你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現(兩個MD5值不相同)。
如果再有一個第三方的認證機構,用MD5還可以防止文件作者的「抵賴」,這就是所謂的數字簽名應用。
3、安全訪問認證
MD5還廣泛用於操作系統的登陸認證上,如Unix、各類BSD系統登錄密碼、數字簽名等諸多方面。如在Unix系統中用戶的密碼是以MD5(或其它類似的演算法)經Hash運算後存儲在文件系統中。
② 請問SHA1加密演算法也是不可逆的嗎
是的,同MD5一樣都是不可逆的加密演算法。
安全性的碰撞對比:
MD5為2^64,sha1為2^60。這么你可能不理解,通俗的講就是每2^64個樣本中能找到兩個MD5相同的值,sha1類似。但這只是理論,從實際樣本取樣的情況,要比這個值小很多。
現在的MD5和sha1加密都用暴力破解,就算拿不到你的原始串,也是很容易被取出來的。
③ 安全哈希演算法sha1和sm3演算法的區別
sha1是一種雜湊演算法,通俗的說即對數據使用sha1演算法進行計算,得到的結果就是sha1值(校驗值),可用於數字簽名、驗簽。
sm3是國密演算法,2010年國家密碼管理局發布,也是一種雜湊演算法,功能和sha1演算法相似,但演算法實現不一樣,破解難度比sha1更大,能達到sha256的水平(sha256是比特幣的加密方式),也可用於數字簽名、驗簽。
④ SHA1、SHA2安全hash演算法
sha(secure hash algorithm)安全sha演算法,對小於2^64位的消息進行演算法處理輸出消息摘要。並且消息摘要無法復原。常見的sha演算法有sha1、sha2
sha1輸出的是160位的消息在摘要 sha2輸出的是256位的消息摘要。sha2的碰撞的概率比sha1要低,因為sha2有2^256種組合sha1有2^160種組合。
sha的實現原理與 md5實現原理 在信息填充(補位),擴展長度的處理是相同的,在數據處理,輸出長度是不同的。
數據完整性校驗例如ssl的身份認證等
⑤ 如何計算 MD5 或 sha-1 加密哈希值的文件
當您將此哈希演算法應用到任意數量的數據例如,一個二進制文件,結果是一個散列或消息摘要。此哈希具有固定的大小。MD5 是創建一個 128 位的哈希值的哈希演算法。Sha-1 是創建一個 160 位的哈希值的哈希演算法。
文件校驗和完整性驗證程序 (FCIV) 實用程序可用於計算一個文件的 MD5 或 sha-1 加密哈希值。有關文件校驗和完整性驗證程序 (FCIV) 實用程序的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
841290可用性和文件校驗和完整性驗證程序實用程序的說明
計算的 MD5 和 sha-1 哈希值的文件,請在命令行鍵入以下命令:
FCIV-md5-sha1 path\filename.ext
例如,若要計算在%Systemroot%文件夾中 \System32 Shdocvw.dll 文件的 MD5 和 sha-1 哈希值,請鍵入下面的命令:
FCIV-md5-sha1 c:\windows\system32\shdocvw.dll
這篇文章中的信息適用於:
Customer Service and Support Information
關鍵字:
kbmt kmcustomerservice kbhowto KB889768 KbMtzh
機器翻譯
注意:這篇文章是由無人工介入的微軟自動的機器翻譯軟體翻譯完成。微軟很高興能同時提供給您由人工翻譯的和由機器翻譯的文章, 以使您能使用您的語言訪問所有的知識庫文章。然而由機器翻譯的文章並不總是完美的。它可能存在詞彙,語法或文法的問題,就像是一個外國人在說中文時總是可能犯這樣的錯誤。雖然我們經常升級機器翻譯軟體以提高翻譯質量,但是我們不保證機器翻譯的正確度,也不對由於內容的誤譯或者客戶對它的錯誤使用所引起的任何直接的, 或間接的可能的問題負責。
點擊這里察看該文章的英文版: 889768
Microsoft和/或其各供應商對於為任何目的而在本伺服器上發布的文件及有關圖形所含信息的適用性,不作任何聲明。 所有該等文件及有關圖形均"依樣"提供,而不帶任何性質的保證。Microsoft和/或其各供應商特此聲明,對所有與該等信息有關的保證和條件不負任何責任,該等保證和條件包括關於適銷性、符合特定用途、所有權和非侵權的所有默示保證和條件。在任何情況下,在由於使用或運行本伺服器上的信息所引起的或與該等使用或運行有關的訴訟中,Microsoft和/或其各供應商就因喪失使用、數據或利潤所導致的任何特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、數據或利潤不負任何責任
⑥ PHP的SHA1加密演算法
substr(md5($SHA1),5,20) 試試這個
⑦ 十大常見密碼加密方式
一、密鑰散列
採用MD5或者SHA1等散列演算法,對明文進行加密。嚴格來說,MD5不算一種加密演算法,而是一種摘要演算法。無論多長的輸入,MD5都會輸出一個128位(16位元組)的散列值。而SHA1也是流行的消息摘要演算法,它可以生成一個被稱為消息摘要的160位(20位元組)散列值。MD5相對SHA1來說,安全性較低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、對稱加密
採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密。對稱加密演算法中常用的演算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非對稱加密
非對稱加密演算法是一種密鑰的保密方法,它需要兩個密鑰來進行加密和解密,這兩個密鑰是公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。非對稱加密演算法有:RSA、Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)。
四、數字簽名
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。
五、直接明文保存
早期很多這樣的做法,比如用戶設置的密碼是「123」,直接就將「123」保存到資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。
六、使用MD5、SHA1等單向HASH演算法保護密碼
使用這些演算法後,無法通過計算還原出原始密碼,而且實現比較簡單,因此很多互聯網公司都採用這種方式保存用戶密碼,曾經這種方式也是比較安全的方式,但隨著彩虹表技術的興起,可以建立彩虹表進行查表破解,目前這種方式已經很不安全了。
七、特殊的單向HASH演算法
由於單向HASH演算法在保護密碼方面不再安全,於是有些公司在單向HASH演算法基礎上進行了加鹽、多次HASH等擴展,這些方式可以在一定程度上增加破解難度,對於加了「固定鹽」的HASH演算法,需要保護「鹽」不能泄露,這就會遇到「保護對稱密鑰」一樣的問題,一旦「鹽」泄露,根據「鹽」重新建立彩虹表可以進行破解,對於多次HASH,也只是增加了破解的時間,並沒有本質上的提升。
八、PBKDF2
該演算法原理大致相當於在HASH演算法基礎上增加隨機鹽,並進行多次HASH運算,隨機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。
九、BCrypt
BCrypt 在1999年就產生了,並且在對抗 GPU/ASIC 方面要優於 PBKDF2,但是我還是不建議你在新系統中使用它,因為它在離線破解的威脅模型分析中表現並不突出。
十、SCrypt
SCrypt 在如今是一個更好的選擇:比 BCrypt設計得更好(尤其是關於內存方面)並且已經在該領域工作了 10 年。另一方面,它也被用於許多加密貨幣,並且我們有一些硬體(包括 FPGA 和 ASIC)能實現它。 盡管它們專門用於采礦,也可以將其重新用於破解。
⑧ 請問SHA1加密演算法也是不可逆的嗎
SHA-1與MD5都是摘要演算法,且為不可逆演算法;
應用角度來講,適用性比安全性重要,兩個演算法長度有所不同,SHA-1 160位,MD5 128位。
如果從安全形度,在計算出摘要後,對摘要進行簽名,可以增加抗抵賴、防篡改的能力,詳情請查看數字簽名的資料。
⑨ MD5、SHA1、CRC32值是干什麼的
MD5(RFC1321)是Rivest於1991年對MD4的改進版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯,與MD4相同。MD5比MD4來得復雜,並且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現更好。
MD5是一種不可逆的加密演算法,目前是最牢靠的加密演算法之一,尚沒有能夠逆運算衫慎模的程序被開發出來,它對應任何字元串都可以加密成一段唯一的固定長度的代碼。
SHA1是由NISTNSA設計為同DSA一起使用的,它對長度小於264的輸入,產生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。
SHA-1設計時基於和MD4相同原理,並且模仿了該演算法。SHA-1是由美國標准技術局(NIST)頒布的國家標准,是一種應用最為廣泛的hash函數演算法,也是目前最先進孝隱的加密技術,被政府部門和私營業主用來處理敏感的信息。而SHA-1基於MD5,MD5又基於MD4。
本身是「冗餘校驗碼」的意思,CRC32則表示會產生一個32bit(8位十六進制數)的校驗值。由於CRC32產生校驗值時源數據塊的每一個bit(位)都參與了計算,所以數據塊中即使或緩只有一位發生了變化,也會得到不同的CRC32值。
(9)sha1密碼演算法擴展閱讀:
Hash演算法在信息安全方面的應用主要體現在以下的3個方面:
1)文件校驗
我們比較熟悉的校驗演算法有奇偶校驗和CRC校驗,這2種校驗並沒有抗數據篡改的能力,它們一定程度上能檢測並糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。
MD5Hash演算法的」數字指紋」特性,使它成為目前應用最廣泛的一種文件完整性校驗和(Checksum)演算法,不少Unix系統有提供計算md5checksum的命令。
2)數字簽名
Hash演算法也是現代密碼體系中的一個重要組成部分。由於非對稱演算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了一個重要的角色。對Hash值,又稱」數字摘要」進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。
3)鑒權協議
如下的鑒權協議又被稱作」挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是一種簡單而安全的方法。
當然,hash函數並不是完全可靠,不同文件產生相同MD5和SHA1的幾率還是有的,只是不高,在我們論壇里提供的系統光碟,你想對這么幾個文件存在相同HASH的不同文件根本是不可能的。
⑩ 安卓圖形解鎖使用了 SHA1 加密演算法,這個信息是怎麼被知道的
Algorithm)又叫安全哈希加密技術,是當今世界最先近的加密演算法。主要用於文件身份識別、數字簽名和口令加密等。
對於明文信息A,通過SHA1演算法,生成一條160位長的識別碼B。且明文信息A和識別碼B之間同時滿足以下條件:
1、對於任意兩條不同的明文信息A1、A2,其識別碼B1、B2都不相同。
2、無法通過逆向演算法由識別碼B倒推出明文信息A。
MOONCRM的用戶密碼採用SHA1加密存儲,即伺服器上存儲的只是
由用戶密碼生成的識別碼,而用戶密碼本身並沒有存儲在伺服器上。用戶輸入登陸口令時,系統會根據輸入口令生成相應識別碼並與系統中所存儲的識別碼進行比較,如二者一致,則認為口令正確。系統中沒有存儲用戶原始的口令值,即使有人獲得口令文件,也無法破解用戶登陸密碼,確保用戶密碼絕對安全。