Mặc dù câu trả lời bên dưới về mặt kỹ thuật vẫn đúng, php có các đề xuất mới liên quan đến các thuật toán băm để sử dụng. Đề xuất của họ
, kể từ php>
=5.5.0, là sử dụng password_hash
và password_verify
chức năng băm và xác minh mật khẩu đã băm. Như một lợi ích bổ sung, các chức năng này tự động bao gồm một muối được cá nhân hóa như một phần của hàm băm được trả về, vì vậy bạn không cần phải lo lắng về điều đó một cách rõ ràng.
Ví dụ:
$pass = sha1($_REQUEST['pass']);
Một điều, để làm cho nó an toàn hơn một chút là thêm một muối vào hàm băm và chạy lại hàm băm. Điều này khiến việc tạo mã băm mật khẩu một cách độc hại trở nên khó khăn hơn vì giá trị muối chỉ được xử lý ở phía máy chủ.
Ví dụ:
$pass = sha1(sha1($_REQUEST['pass']).sha1("[email protected]$#(%"));