Re: [請益] 明碼常用加密組合方式
※ 引述《tas72732002 (蔥頭)》之銘言:
: 最近需要處理到使用有關明碼打亂的功能,
: 想請問一下,一般會如何自訂明碼打亂方式來增加其安全性
: 之前是常用md5($password) 但發現如果只使用這樣, 很容易被破解,
: 想請問各位大大 是否可提供一下常用的打亂方式,如合'組合'才會安全~
<?php
function new_salt()
{
$chars = "abcdefghijklmnopqrstuvwxyz" . // 太長占版面所以分成兩行
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$salt = "";
// 設定 salt 的長度為 16
for($i = 0; $i < 16; ++$i)
{
$salt .= $chars[mt_rand(0, strlen($chars) - 1)];
}
return $salt;
}
function string_to_hashed($str, $salt = NULL)
{
if($salt == NULL) $salt = new_salt();
$hashed = hash("sha256", $str.$salt); // 把要加密的資料加上 salt
return $salt.$hashed; // 記得也把 salt 傳回來
}
function hashed_compare($str, $hashed)
{
$salt = substr($hashed, 0, 16); // 取出 salt (注意長度要一致)
$str_hashed = string_to_hashed($str, $salt);
return ($str_hashed == $hashed); // 比較是否為一樣的內容
}
--
★∥ ○ ◢ 〞` ◣ ◥◣◢◣◢◣ ◢▏。 ○ ο ∣★
★| ° ◢ ╮ ██◤ █◤◥◤█ ∥ o ° ∥★
★∥ 。 ● ● ◤ ◥ █ █ ∥ ◢╱﹋◣ 。 ∣★
★∣ ◥ˍ ◤◤ ◢◤ ◢◢◤██◤ ◣ ◢╱ ● ︶ ( ∥★
★∥ ( ◢◤ ◤ing ∥say ◢███ ╰ ◤ ζ ) ∣★
★│ ) mt.rmstudio.tw ︾ mt@moztw.org ◤ ◥◢ ◤◤ wnqui ∥★
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.157.72
→
05/20 21:17, , 1F
05/20 21:17, 1F
推
05/20 21:22, , 2F
05/20 21:22, 2F
註 a60301:如有需要也可以把 $hashed = hash("sha256", $str.$salt);
改成 $hashed = hash("sha256", md5($str) . $salt);
推
05/20 22:27, , 3F
05/20 22:27, 3F
→
05/20 23:39, , 4F
05/20 23:39, 4F
回 a60301:昨天寫太快了沒注意,感謝提醒! 05/21 08:02
→
05/21 00:48, , 5F
05/21 00:48, 5F
→
05/21 00:49, , 6F
05/21 00:49, 6F
→
05/21 00:50, , 7F
05/21 00:50, 7F
→
05/21 00:50, , 8F
05/21 00:50, 8F
→
05/21 00:51, , 9F
05/21 00:51, 9F
推
05/21 01:04, , 10F
05/21 01:04, 10F
回 a60301:基本上資料庫照理來說應該要有措施,防止別人拿到hashed字串 05/21 08:07
否則任何的雜湊法也只是遲早被暴力破解出來而已
不然可以選用雜湊時間花費較久的雜湊演算法也是可以
→
05/21 01:06, , 11F
05/21 01:06, 11F
→
05/21 06:44, , 12F
05/21 06:44, 12F
→
05/21 06:46, , 13F
05/21 06:46, 13F
※ 編輯: a60301 來自: 101.12.94.167 (05/21 08:09)
→
05/21 13:22, , 14F
05/21 13:22, 14F
推
05/22 11:07, , 15F
05/22 11:07, 15F
※ 編輯: a60301 來自: 114.34.74.8 (05/22 11:55)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
4
20
6
16