sha加密原理
Algorithm)又叫安全哈希加密技術,是當今世界最早近的加密算法。主要用於文件身份識別、數字簽名和口令加密等。
對於明文信息A,經過SHA1算法,生成一條160位長的識別碼B。且明文信息A和識別碼B之間同時知足如下條件:
一、對於任意兩條不一樣的明文信息A一、A2,其識別碼B一、B2都不相同。
二、沒法經過逆向算法由識別碼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