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