本文實例講述了php md5實現的加密解密方法,MD5演算法一般用於對資料進行加密的場合,例如網站的使用者登陸密碼。對MD5有興趣的同學可以參考一下。
一.什麼是MD5?
Message Digest Algorithm MD5(中文名為訊息摘要演算法第五版)為電腦安全領域廣泛使用的一種雜湊函數,以提供訊息的完整性保護。目前php網站開發中使用者的密碼都是用MD5進行加密的。
二.md5的加密演算法程式碼
//加密 <body style="color:green;font-size:28px;background:black;font-family:Verdana, sans-serif;"> <?php error_reporting(0);?> <form name="c" action="<?php echo $_SERVER['PHP_SELF'];?>" method="get"> Input your text: <input type="text" name="c" /> <button type="submit" value="Submit" style="color:green;font-size:28px;background:black;">Creat!</button> </form> </body> <?php //hash encode: if($c=$_GET['c'])echo 'Roger!Your MD5 code is:<br>'.md5($c).'(32bit)<br>'.substr(md5($c),8,16).'(16bit)';//截取8到24就是16位的hash,便于储存 ?>
三.md5可以解密或破解嗎?
MD5的加密演算法是不可逆的加密演算法,理論上是不能解密破解的。 MD5加密原理是雜湊演算法,雜湊演算法也稱為雜湊演算法。 計算機專業學的資料結構就有雜湊表這一知識點。 例如10除以3餘數為一,4除以3餘數也為一,但餘數為一的就不知道這個數是哪個了。 所以md5不能解密。 就算是設計這個加密演算法的人都不知道。 但是你的密碼是怎麼驗證的呢?就是因為同一密碼加密後一定相同。 你輸入密碼加密後才能知道你的密碼是否正確。 也就是說,你的密碼只有你自己知道。 也是為什麼扣扣密碼只能重置,不能找回來的原因。 (參考:php md5加密可以破解嗎?)
但是若採用單MD5簡單的密碼還是可以暴力破解的,他們是透過不斷的保存各種編碼和密碼然後再進行匹配最終得到密碼。不過複雜的密碼還是有點難度。 (php md5解密程式碼分享(附接口,親測可用))
四.透過MD5重置密碼方法
由於MD5的加密演算法是不可逆的加密演算法,所以當你忘記的加密演算法密碼了,可以取重設密碼,也可採用覆蓋密碼。例如網站後台密碼,你忘記後,你可以利用php中文網MD5線上加密工具輸入欲加密的密碼,然後產生MD5密文字串,把這個密文字串覆蓋原來的資料庫使用者表中存在的MD5密文即可。
以上就介紹了php md5實現的加密方法,包括了md5解密的相關內容,希望對PHP中文網的朋友有所幫助。
相關文章:
php md5可以解密嗎?