Hàm Nội dung chính Show1. Chức năng của hàm md5[]
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 có 32 ký tự với hàm băm [hash] mật mã học md5. Mỗi ký tự mã hóa được biểu diễn dưới dạng hệ cơ số 16. Do đó, kích thước của chuỗi mã hóa trả về là 128 bit.
Hàm băm md5
có đặc điểm là chỉ mã hóa một chiều, tức 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]: string
Trong đó:
- $string: chuỗi ký tự cần mã hóa có độ dài bất kỳ
- $binary: tùy chọn, mặc định là false. Nếu đặt là true thì chuỗi mã hóa được trả về là chuỗi nhị phân đã mã hóa.
- Kết quả trả về là chuỗi có 32 ký tự được biểu diễn dưới dạng hệ cơ số 16.
3. Một số ví dụ sử dụng hàm md5[]
Mã hóa với $binary == false
$str = "gochocit.com";
$str = md5[$str];//82f994e3d08ae2fe4c7785e31b364454
//hoặc
$str = md5[$str, false];//82f994e3d08ae2fe4c7785e31b364454
Mã hóa với $binary == true
$str = "gochocit.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[]
để tạo password bảo mật. Tuy rằng, không thể giải mã ngược một chuỗi ký tự được mã hóa md5. Nhưng có thể lưu trữ một cơ sở dữ liệu rất lớn gồm hàng triệu chuỗi ký tự và chuỗi mã hóa md5 của nó. Ví dụ như bảng bên dưới:
Chuỗi ký tự | Chuỗi mã hóa md5 |
123456789 | 25f9e794323b453885f5181f1b624d0b |
apple | 1f3870be274f6c49b3e31a0c6728957f |
gochocit.com | 82f994e3d08ae2fe4c7785e31b364454 |
… | …. |
Khi muốn giải mã chuỗi md5 như 82f994e3d08ae2fe4c7785e31b364454
thì chỉ cần truy xuất trong cơ sở dữ liệu này thì sẽ giải mã được chuỗi ký tự ban đầu.
Đã có rất nhiều website dùng cách này để giải mã md5 như //md5decrypt.net/, //www.md5online.org/md5-decrypt.html,… Và chắc chắn đã có rất nhiều cơ sở dữ liệu lưu trữ chuỗi mã hóa md5 như thế. Do đó, rõ ràng mã hóa md5 hiện không quá an toàn để dùng bảo mật tài khoản.
- Cấu trúc rẽ nhánh switch case và minh họa với C++
- Các cấu trúc điều khiển rẽ nhánh if else trong Java
- Khái niệm kế thừa và đơn kế thừa trong lập trình hướng đối tượng
- Nạp chồng toán tử [operator overloading] trong C++
- Thuật toán tìm kiếm nhị phân [Binary Search]
PHP programming
Điều hướng bài viết
1. Chức nă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 có 32 ký tự với hàm băm [hash] mật mã học md5. Mỗi ký tự mã hóa được biểu diễn dưới dạng hệ cơ số 16. Do đó, kích thước của chuỗi mã hóa trả về là 128 bit.
Nội dung chính
- 1. Chức năng của hàm md5[]
- 2. Cú pháp của hàm md5[]
- 3. Một số ví dụ sử dụng hàm md5[]
- Điều hướng bài viết
- Cùng chuyên mục:
- Định nghĩa
- Cách sử dụng
- Kết quả
- Ví dụ hàm md5[]
- Mã hóa với $row_output = false
- Mã hóa với $row_output = true
- Related Articles
Hàm băm md5
có đặc điểm là chỉ mã hóa một chiều, tức 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]: string
Trong đó:
- $string: chuỗi ký tự cần mã hóa có độ dài bất kỳ
- $binary: tùy chọn, mặc định là false. Nếu đặt là true thì chuỗi mã hóa được trả về là chuỗi nhị phân đã mã hóa.
- Kết quả trả về là chuỗi có 32 ký tự được biểu diễn dưới dạng hệ cơ số 16.
3. Một số ví dụ sử dụng hàm md5[]
Mã hóa với $binary == false
$str = "gochocit.com";
$str = md5[$str];//82f994e3d08ae2fe4c7785e31b364454
//hoặc
$str = md5[$str, false];//82f994e3d08ae2fe4c7785e31b364454
Mã hóa với $binary == true
$str = "gochocit.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[]
để tạo password bảo mật. Tuy rằng, không thể giải mã ngược một chuỗi ký tự được mã hóa md5. Nhưng có thể lưu trữ một cơ sở dữ liệu rất lớn gồm hàng triệu chuỗi ký tự và chuỗi mã hóa md5 của nó. Ví dụ như bảng bên dưới:
Chuỗi ký tự | Chuỗi mã hóa md5 |
123456789 | 25f9e794323b453885f5181f1b624d0b |
apple | 1f3870be274f6c49b3e31a0c6728957f |
gochocit.com | 82f994e3d08ae2fe4c7785e31b364454 |
… | …. |
Khi muốn giải mã chuỗi md5 như 82f994e3d08ae2fe4c7785e31b364454
thì chỉ cần truy xuất trong cơ sở dữ liệu này thì sẽ giải mã được chuỗi ký tự ban đầu.
Đã có rất nhiều website dùng cách này để giải mã md5 như //md5decrypt.net/, //www.md5online.org/md5-decrypt.html,… Và chắc chắn đã có rất nhiều cơ sở dữ liệu lưu trữ chuỗi mã hóa md5 như thế. Do đó, rõ ràng mã hóa md5 hiện không quá an toàn để dùng bảo mật tài khoản.
- Các loại toán tử [operator] được hỗ trợ trong Python
- Dẫn xuất public, protected, private trong kế thừa và minh họa với C++
- Xóa [delete] dữ liệu trong MySQL với PHP
- Hàm is_numeric[] trong PHP
- Thuật toán sắp xếp chèn trực tiếp [Insertion Sort]
PHP programming
Điều hướng bài viết
Hàm md5[]
sẽ mã hóa một chuỗi. Hàm sẽ trả về một chỗi md5 đã mã hóa.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Hàm md5[]
được sử dụng khi bạn muốn tạo một chuỗi mã hóa ví dụ như mật khẩu người dùng để lưu vào csdl .vv..
Cú pháp
Cú pháp: md5[ $str, $raw_output];
Trong đó:
Bài viết này được đăng tại [free tuts .net]
$str
là chuỗi cần mã hóa.$raw_output
là tham số, mặc định mang giá trị FALSE, nếu$raw_output
mang giá trị TRUE chuỗi trả về sẽ có độ dài là 16 kí tự, nếu$raw_output
mang giá trị FALSE chuỗi trả về sẽ có 32 kí tự.
Ví dụ
Code
$str = "Freetuts.net"; $strMd5 = md5[$str]; echo strlen[$strMd5] ."-".[$strMd5];
Kết quả
32-7e84c67e65c8d28c53ac5c33b8e3fdb6
Tham khảo: php.net
Cùng chuyên mục:
- Định nghĩa
- Cách sử dụng
- Kết quả
- Ví dụ hàm md5[]
- Mã hóa với $row_output = false
- Mã hóa với $row_output = true
Định nghĩa
Hàm md5[] trong php có tác dụng chuyển một chuỗi sang dạng một chuỗi mới đã được mã hóa theo tiêu chuẩn MD5 [32 bít].
Trong PHP không hỗ trợ giải mã một chuỗi đã mã hóa MD5 sang dạng ban đầu.
Cách sử dụng
Cú pháp:
string md5 [ string $str [, bool $raw_output = false ] ]
Trong đó:
- $str là chuỗi bạn muốn mã hóa
- $raw_outout có giá trị true hoặc false, mặc định là false – Nếu true: hàm sẽ trả về chuỗi nhị phân 16 ký tự đã mã hóa, Nếu false: hàm trả về chuỗi bình thường gồm 32 ký tự đã mã hóa.
Kết quả
Hàm sẽ trả về một chuỗi thập lục phân với chiều dài 32 ký tự [đã mã hóa].
Ví dụ hàm md5[]
Mã hóa với $row_output = false
$str = 'thanhtungweb.com'; echo md5[$str]; // b8faf71bf2161da7f600d3ff38f00609 // hoặc echo md5[$str, false]; // b8faf71bf2161da7f600d3ff38f00609
Mã hóa với $row_output = true
$str = 'thanhtungweb.com'; echo md5[$str, true]; // ƒaquưŒôpÔ¯ez[̃ù
Hàm này khá là đơn giản nên mình không giải thích gì thêm.
Hy vọng bài viết này hữu ích với bạn! Nếu thấy bài viết này hay hãy like và share giúp mình nhé!