Đây là lần đầu tiên tôi sử dụng hàm crypt() trong PHP, và tôi không thể hiểu tại sao nó không hoạt động. Mã của tôi dựa trên bài viết này: http://www.techrepublic.com/blog/australia/securing-passwords-with-blowfish/1274PHP crypt() Chức năng Blowfish Không hoạt động
function blowfishHash ($pw) {
//generate random salt
$salt = "$2y$10$";
for ($i = 0; $i < 22; $i++) {
$salt .= substr("./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", mt_rand(0, 63), 1);
}
$hash = crypt($pw, $salt);
//printout to file
$file = fopen("debug.txt", "w+");
fwrite($file, "\n\n\n".$pw);
fwrite($file, "\n\n\n".$salt);
fwrite($file, "\n\n\n".$hash);
fclose($file);
return $hash;
}
Tôi gọi hàm có mật khẩu mẫu "mật khẩu".
Muối kết quả là: $2y$10$NzRQNjTRfP4jXKvb4TCO.G
Nhưng mật khẩu là "$2mV0NZp92R3g"
- dường như quá ngắn.
Ai đó có thể giúp tôi tìm ra những gì tôi đang làm sai?
Tôi đã thử nghiệm ví dụ của bạn và nó xuất ra chính xác giống như trong bài viết. Làm thế nào để bạn đầu ra/gỡ lỗi $ mật khẩu. Trên một trang web? mỗi cli? – hek2mgl
Tôi vừa in một tệp (tôi bỏ qua các dòng mã cho điều đó). Có một phiên bản PHP cụ thể cần thiết cho chức năng này không ...? – user1403777
Bạn đang sử dụng phiên bản nào? (Tôi đang sử dụng: 5.3.10-1ubuntu3.4) – hek2mgl