1. Tác dụng của hàm md5()
Hàm md5() trong PHP có chức năng mã hóa một chuỗi ký tự thành một chuỗi ký tự khác gồm bao gồm 32 cam kết tự với hàm băm (hash) mật mã học tập md5. Mỗi ký tự mã hóa được màn trình diễn dưới dạng hệ cơ số 16. Bởi đó, size của chuỗi mã hóa trả về là 128 bit.
Bạn đang xem: Mã hóa dữ liệu php
Hàm băm
md5 có điểm sáng là chỉ
mã hóa một chiều, có nghĩa là không giải mã ngược lại được.
2. Cú pháp của hàm md5()
md5(string $string, bool $binary = false): stringTrong đó:$string: chuỗi ký kết tự bắt buộc mã hóa bao gồm độ nhiều năm bất kỳ$binary: tùy chọn, mặc định là false. Nếu để là true thì chuỗi mã hóa được trả về là chuỗi nhị phân sẽ mã hóa.Kết quả trả về là chuỗi gồm 32 cam kết tự được biểu diễn dưới dạng hệ cơ số 16.
Xem thêm: Nếu Không Học Đại Học Thì Làm Gì, Con Gái Nên Học Nghề Gì Khi Không Học Đại Học
3. Một số trong những ví dụ sử dụng hàm md5()
Mã hóa cùng với $binary == false$str = "obatambeienwasirherbal.com";$str = md5($str);//82f994e3d08ae2fe4c7785e31b364454//hoặc$str = md5($str, false);//82f994e3d08ae2fe4c7785e31b364454
Mã hóa với $binary == true$str = "obatambeienwasirherbal.com";$str = md5($str, true);// ����Њ��Lw�� 6DT
Kiểm tra chuỗi md5 với câu lệnh if$str = "apple";if (md5($str) === "1f3870be274f6c49b3e31a0c6728957f") echo "Would you like a green or red apple?";
Lưu ý: không khuyến khích sử dụng hàm
md5() để chế tạo password bảo mật. Tuy rằng, ko thể lời giải ngược một chuỗi ký kết tự được mã hóa
md5. Nhưng hoàn toàn có thể lưu trữ một đại lý dữ liệu không hề nhỏ gồm hàng tỷ chuỗi ký tự với chuỗi mã hóa
md5 của nó. Ví dụ như bảng mặt dưới:
Chuỗi cam kết tự | Chuỗi mã hóa md5 |
123456789 | 25f9e794323b453885f5181f1b624d0b |
apple | 1f3870be274f6c49b3e31a0c6728957f |
obatambeienwasirherbal.com | 82f994e3d08ae2fe4c7785e31b364454 |
… | …. |
Khi muốn giải thuật chuỗi
md5 như
82f994e3d08ae2fe4c7785e31b364454 thì chỉ cần truy xuất trong cơ sở dữ liệu này thì sẽ giải thuật được chuỗi cam kết tự ban đầu.Đã có không ít website dùng cách này để lời giải
md5 như https://md5decrypt.net/, https://www.md5online.org/md5-decrypt.html,… Và chắc chắn rằng đã có không ít cơ sở dữ liệu tàng trữ chuỗi mã hóa
md5 như thế. Bởi vì đó, ví dụ mã hóa
md5 hiện không quá an toàn để dùng bảo mật tài khoản.