很久以前我一直以為登入的帳號密碼一直都是明碼儲存 而且在大學學習的過程也都沒有教過 直到自己開始工作要實作登入功能的時候就一直覺得好像怪怪的 加上曾在FB的社團裡面看到一些文章裡面看到說不要以明碼儲存 才開始去研究到底這個部分是怎麼處理的 以下來看範例: <?php$password="test123456";//1.MD5echo "MD5:".md5($password)."<br>";//結果:47ec2dd791e31e2ef2076caf64ed9b3d//2.SHA 以sha256為例echo "sha256:".hash("sha256", $password)."<br>";//結果:85777f270ad7cf2a790981bbae3c4e484a1dc55e24a77390d692fbf1cffa12fa 使用上述這兩個方法的話 記得MD5在資料庫的欄位長度要32 SHA的話要64 這樣才不會在新增資料到資料庫的時候發生錯誤喔! 參考資料也有提到一些我沒用過的加密方法 這邊就以我有用過的來分享 如果有問題歡迎提出 只要我知道答案一定會回答的 參考資料: 1.https://segmentfault.com/a/1190000003024932 2.https://blog.longwin.com.tw/2015/10/php-sha256-sha512-hash-algorithm-2015/