MD5加密和sha加密


sha加密原理
Algorithm)又叫安全哈希加密技術,是當今世界最先近的加密算法。主要用於文件身份識別、數字簽名和口令加密等。 對於明文信息A,通過SHA1算法,生成一條160位長的識別碼B。且明文信息A和識別碼B之間同時滿足以下條件: 1、對於任意兩條不同的明文信息A1、A2,其識別碼B1、B2都不相同。 2、無法通過逆向算法由識別碼B倒推出明文信息A。 MOONCRM的用戶密碼采用SHA1加密存儲,即服務器上存儲的只是 由用戶密碼生成的識別碼,而用戶密碼本身並沒有存儲在服務器上。用戶輸入登陸口令時,系統會根據輸入口令生成相應識別碼並與系統中所存儲的識別碼進行比較,如二者一致,則認為口令正確。系統中沒有存儲用戶原始的口令值,即使有人獲得口令文件,也無法破解用戶登陸密碼,確保用戶密碼絕對安全。

MD5加密原理
Message-Digest泛指字節串(Message)的Hash變換,就是把一個任意長度的字節串變換成一定長的大整數。請注意我使用了“字節串”而不是“字符串”這個詞,是因為這種變換只與字節的值有關,與字符集或編碼方式無關。 
  MD5將任意長度的“字節串”變換成一個128bit的大整數,並且它是一個不可逆的字符串變換算法,換句話說就是,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串,從數學原理上說,是因為原始的字符串有無窮多個,這有點象不存在反函數的數學函數
   MD5的典型應用是對一段Message(字節串)產生fingerprint(指紋),以防止被“篡改”。舉個例子,你將一段話寫在一個叫 readme.txt文件中,並對這個readme.txt產生一個MD5的值並記錄在案,然后你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現(兩個MD5值不相同)。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的“抵賴”,這就是所謂的數字簽名應用。
  
MD5是一種不可逆的加密算法 安全性很高 一般在網上用作判斷文件完整性
如果一個文件被修改或不完整 算出來的MD5碼是和原來不一樣的 所以當你害怕下的東西有病毒或木馬或不完整 可以用MD5計算器算一下 再和網站上提供的值對比
關於軟件很多地方有下的 軟件就一個作用 把軟件拖進去 然后算出MD5碼 自己搜索一下吧
這個基本上是軟件內部利用MD5加密導致,本身幾乎無效驗方法,因為MD5不可以反編譯,方法寫個過程,或下載MD5文件 調用MD5(PASSWORD)
MD5中的MD代表Message Digest,就是信息摘要的意思,不過這個信息摘要不是信息內容的縮寫,而是根據公開的MD5算法對原信息進行數學變換后得到的一個128位(bit)的特征碼。

這個特征碼有如下特性,首先它不可逆,例如我有一段秘密的文字如:"My Secret Words",經算法變換后得到MD5碼(b9944e9367d2e40dd1f0c4040d4daaf7),把這個碼告訴其他人,他們根據這個MD5碼是沒有系統的方法可以知道你原來的文字是什么的。

其次,這個碼具有高度的離散性,也就是說,原信息的一點點變化就會導致MD5的巨大變化,例如"ABC" MD5(902fbdd2b1df0c4f70b4a5d23525e932)和"ABC "(多了一空格)MD5(12c774468f981a9487c30773d8093561)差別非常大,而且之間沒有任何關系,也就是說產生的MD5碼是不可預測的。

最后由於這個碼有128位那么長,所以任意信息之間具有相同MD5碼的可能性非常之低,通常被認為是不可能的。

所以一般認為MD5碼可以唯一地代表原信息的特征,通常用於密碼的加密存儲,數字簽名,文件完整性驗證等。
2004年,已經被山東大學王小雲教授破解了。

比如:
2345 兩個相加的和再相乘 2+3=5 4+5=9 5*9=45


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM