線上加密程式,以上你可以輸入字串,線上得到運算的結果

Input String:

雜湊-加密應用

雜湊在程式語言世界裡,大多用來處理密碼的儲存,不用明碼(太明顯)儲存在資料庫!
一般來說我的註冊密碼是 54321 ,那麼我存在MySql或MSSQL等資料庫裡,不會明目張膽的存 54321 ,而是會方入一個函式加密公式,比如說常用的MD5()函式,他會得到一串32個由0~9 A~F排列組合的加密文,而 md5("54321") 就會得到 01cfcd4f6b8770febfb40cb906715822 ,我就會把這一串加密後的32位字串存入資料庫的密碼欄中。就算資料庫被人看到欄位內的加密文,因為MD5() 算是不可反運算得出54321 的加密方式,所以得知32位字串也不能反算出原密碼。

那我又如何作出檢證呢?


這種方式也是很常使用的,把我在登入時,輸入 44444 ,再使用 md5("44444") 算出的是 79b7cdcd14db14e9cb498f1793817d69 ,再拿去和資料庫密碼欄的 01cfcd4f6b8770febfb40cb906715822 if() 後發現密碼不相等,所以就可以顯示登入失敗了。

另類組合使用


除了單純的使用md5("54321")外,也可以加密兩次也就是md5(md5("54321")) 這種方式,這樣只要再驗證時使用同樣的公式比對就可以了,還可以使用substr() 來取回前幾個字串就好,取回也可以再加密一次md5() 或sha1() 也可以,這樣也就只有自己獨特的加密法喔。
常使用的雜湊函式如下:
演算法名稱說明
MD家族MD4MD4是麻省理工學院教授Ronald Rivest於1990年設計的一種信息摘要演算法。它是一種用來測試信息完整性的密碼散列函數的實行。其摘要長度為128位。這個演算法影響了後來的演算法如MD5、SHA家族和RIPEMD等。
MD5MD5即Message-Digest Algorithm 5(訊息摘要演算法第五版)的簡稱,是當前電腦領域用於確保訊息傳輸完整一致而廣泛使用的雜湊演算法之一(又譯雜湊演算法、摘要演算法等),主流程式語言普遍已有MD5的實作。將資料(如一段文字)運算變為另一固定長度值,是雜湊演算法的基礎原理,MD5的前身有MD2、MD3和MD4。
SHA家族SHA-0安全雜湊演算法(英語:Secure Hash Algorithm)是一種能計算出一個數位訊息所對應到的,長度固定的字串(又稱訊息摘要)的演算法。且若輸入的訊息不同,它們對應到不同字串的機率很高;而SHA是FIPS所認證的五種安全雜湊演算法。這些演算法之所以稱作「安全」是基於以下兩點(根據官方標準的描述):「1)由訊息摘要反推原輸入訊息,從計算理論上來說是很困難的。2)想要找到兩組不同的訊息對應到相同的訊息摘要,從計算理論上來說也是很困難的。任何對輸入訊息的變動,都有很高的機率導致其產生的訊息摘要迥異。」
SHA-1