Cập nhật ngày 27/12/2021 Trong PHP, muốn sử dụng mã hoá Bcrypt ta sẽ dùng hàm password_hash(). Hàm này thường dùng để mã hoá mật khẩu. Ngoài mã hoá Bcrypt hàm này còn hỗ trợ mã hoá Argon2i và Argon2id. password_hash ( string $password , int $algo [, array $options ] ) : string Trong đó:
Kết quả: Trả về chuỗi mã hoá hoặc FALSE nếu thất bại. Ví dụ: <?php $options = [ 'cost' => 12, ]; echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options); So sánh 2 chuỗi đã mã hoá?Đồi khi ta buồn ta chả biết làm gì rồi ngồi vu vơ nghĩ về Bcrypt, khi mà cùng 1 chuỗi nó mã hoá ra nhiều chuỗi mới khác nhau thì làm sao so sánh? Nhưng không sao, PHP đã cung cấp cho ta 1 hàm giúp làm việc này đó là password_verify(). password_verify ( string $password , string $hash ) : bool Trong đó:
Kết quả: TRUE nếu khớp, FALSE nếu không khớp. Ví dụ: <?php $hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq'; if (password_verify('rasmuslerdorf', $hash)) { echo 'Password is valid!'; } else { echo 'Invalid password.'; } |