通過看到this comment和評論here,在我腦海中提出的一個問題,那爲什麼我們不使用我們自己的PHP
函數來保護密碼在MySQL
?我們應該使用PHP內置函數。像password_hash() & password_verify()。PHP內置或MySQL用戶定義函數密碼
如果我自己做我該怎麼辦PHP函數?
例如:
爲HI HOW ARE YOU?
安全代碼應該zq1zag1ewn1:a>!
我在函數中使用array
。
的代碼是這樣:
$txt = "HI HOW ARE YOU?";
$trans = array(" " => "1", "H" => "z", "C" => "f", "I" => "q", "O" => "a", "W" => "g", "A" => "e", "R" => "w", "E" => "n", "Y" => ":", "U" => ">", "?" => "!");
$change = strtr($txt, $trans);
echo $change;
我能否獲得使用PHP in-built function
,而不是我的函數的原因是什麼?
內置的現實世界的使用和運行良好的加密algorythms創建功能。你自己的加密功能可能缺乏這些非常重要的功能 –
如果你自己的功能是加密密碼,那麼你會寫一些可能非常不安全的東西....見證你說的是加密而不是散列,表明您對安全性瞭解不足以瞭解其差異 –
至於示例代碼,可以在幾秒鐘內打破簡單的替換密碼;甚至不像拿破崙的Vignere密碼那樣安全 –