Thông thường khi tải một file dung lượng lớn: Bộ cài Windows, game pc, bản Ghost.., bạn thường gặp phải trường hợp file bị lỗi, bị thiếu sau khi tải file về máy tính. Công nghệ mã hoá MD5 ra đời để khắc phục vấn đề này.
MD5 là gì?
MD5 (Message-Digest algorithm 5, giải thuật Tiêu hóa tin 5) là một thuật toán mã hóa theo chuẩn RFC 1321 để tạo ra 1 chuỗi 128 bit từ 1 chuỗi dữ liệu bất kỳ.
Một MD5 thường được diễn tả bằng một số hệ thập lục phân 32 ký tự.
Ví dụ : Câu : “Đây là một thử nghiệm, độ dài văn bản không quan trọng” khi chuyển sang giá trị khác sẽ hiển thị dưới dạng: “6c16fcac44da359e1c3d81f19181735b“.
Hiểu đơn giả, MD5 là đoạn mã hóa để kiểm tra tính chính xác, toàn vẹn của file trong quá trình truyền tải tin trên Internet hoặc copy dữ liệu đi đâu đó, mỗi file sẽ có 1 mã MD5.
Nhằm tránh trường hợp bạn tải tại ở nơi khác có thể sẽ bị đính kèm các chương trình nhỏ nguy hại như trojan, keylogger – đây là lí do vì sao các tác giả đưa MD5 của tập tin lên để bạn dễ dàng kiểm tra.
LỊch sử phát triển của MD5
Năm 1991, Giáo sư Ronald L. Rivest cho ra đời MD5 để thay thế cho MD4 trước đó. Tuy không phải là thuật toán nhanh như MD4, bảo mật dữ liệu trên MD5 an toàn hơn rất nhiều. MD5 vẫn tồn tại những lỗ hổng bảo mật và SHA-1 được đề xuất để thay thế MD4.
Tuy nhiên, các nhà nghiên cứu thuộc trường Đại học Carnegie Mellon thuộc Viện Kỹ thuật phần mềm khuyên: “các nhà phát triển phần mềm, nhà cung cấp chứng thực số (CA), chủ sở hữu trang web và người dùng nên hạn chế sử dụng thuật toán MD5. Các nghiên cứu trước đây chứng minh MD5 dễ bị phá vỡ về mặt mã hóa và không còn phù hợp để sử dụng”.
Vào năm 2008, MD6 cũng đã được đề xuất cho Viện Tiêu chuẩn và Kỹ thuật Quốc gia Hoa Kỳ để thay thế cho SHA-3.
Công dụng của MD5
Mã MD5 sẽ kiểm tra tính toàn vẹn của file khi download về từ Internet hoặc sao chép giữa các thiết bị lưu trữ với nhau. Bạn sẽ không cần phải so sánh các dữ liệu thô để kiểm tra và xác nhận giữa 2 file dữ liệu có sự thay đổi nào không.
Nếu mã MD5 người upload cung cấp không trùng với mã MD5 bạn kiểm tra, bạn phải tải lại file đó hoặc liên hệ với người upload để giải quyết.
Dù MD5 có chứa một số lỗ hổng bảo mật và không thực sự hữu ích đối với các file dữ liệu được mã hóa nâng cao, nhưng bạn có thể kiểm tra MD5, check MD5 của file để xác minh tính toàn vẹn của các file dữ liệu mã hóa chuẩn.
Hướng dẫn sử dụng MD5
MD5Decrypt và MD5 Decrypter là 2 công cụ trực tuyến miễn phí cho phép người dùng thực hiện điều này, tuy nhiên các công cụ này chỉ hoạt động với một số từ và cụm từ phổ biến.
Nếu bạn muốn mã hoá điều văn bản nào đó, bạn có thể sử dụng công cụ miễn phí này. Cách sử dụng tương đối đơn giản, bạn chỉ cần thực hiện như sau:
Bước 1: truy cập vào công cụ Base32 Encode Online Tools
Bước 2: nhập Đoạn văn bản bạn muốn mã hoá vào ô thứ nhất
Bước 3: nếu công cụ chưa mã hoá ở ô thứ 2, bạn nhấn vào Endcode. Do thông thường, công cụ sẽ tự động tích vào Auto Update và cập nhật dãy thông tin mã hoá giúp người dùng.
Bước 4: để chuyển thành mã MD5, bạn chọn vào mục MD5 ở danh sách bên phải. Bạn chỉ cần nhập nội dung muốn mã hoá và copy kết quả để sử dụng nhé!
PHần mềm kiểm tra MD5
FFSJ: The Fastest File Splitter and Joiner
Bạn muốn ủng hộ người Việt, vậy bạn hãy sử dụng phần mềm này của tác giả Lê Minh Hoàng.
Để cài đặt, bạn sẽ chọn 1 trong 2 phiên bản sau:
- FFSJ-Lite một phần mềm nhỏ gọn nhỏ bao gồm tất cả các tính năng cơ bản, thích hợp cho tất cả người dùng.
- FFSJ-Standard gói này yêu cầu đặc quyền của quản trị viên để cài đặt đầy đủ các tính năng.
Tiếp theo bạn tải xuống phiên bản phù hợp, và làm theo các hướng dẫn tại đây để khai thác toàn bộ sức mạnh của phần mềm này nhé!
Hasher Lite
Nếu bạn dùng MD5 Checksum trên 1 file sẽ sinh ra 1 chuỗi MD5 duy nhất ứng với từng file. 2 file trùng nhau về nội dung sẽ có chung 1 chuỗi MD5.
Khi down file, bạn thường thấy có kèm chuỗi MD5 (nhất là các file to) để cho người dùng kiểm tra xem file down về có trùng với file gốc hay không. Nếu có lỗi trong quá trình download, chuỗi MD5 của file được down về sẽ khác với chuỗi MD5 gốc được cung cấp.
Bạn có thể sử dụng các tool như MD5Summer để tạo và kiểm tra.
MD5 Checker
Có cùng tính năng check, kiểm tra mã MD5, phần mềm miễn phí MD5 Checker cho phép người dùng kiểm tra mã MD5 của các file phần mềm, thêm, xóa, cập nhập các MD5 checksum một cách dễ dàng.
Đây là phần mềm di động. Do vậy, chỉ cần khởi động tập tin thực thi, bạn hoàn toàn có thể sử dụng bất cứ nơi nào. Ngoài ra, bạn cũng có thể lưu nó trong các thiết bị lưu trữ ngoài như: USB, ổ cứng di động, ổ đĩa mềm, thẻ nhớ…. để sử dụng cho các máy tính khác.
Bước 1: Cài đặt MD5 Checker: download MD5 Checker về thiết bị của bạn.
Với MD5 Checker bạn không cần cài đặt. Tại giao diện chính bạn copy mã MD5 mà người chia sẻ cung cấp cho bạn sau đó click chọn Paste.
Bước 2: Bạn click Browse để đến file vừa tải về.
- Nếu thấy trùng, file dữ liệu bạn tải về an toàn và bạn có thể sử dụng được.
- Ngược lại, bạn không nên mở vì nguy cơ có mã độc trong file là rất cao.
Như vậy chỉ với thao tác nhỏ bạn đã có thể check mã MD5 để biết được độ an toàn của dữ liệu tải về, đồng thời kiểm tra được tính toàn vẹn của dữ liệu và ngăn chặn các mã độc xâm nhập vào máy tính của mình rồi đấy. Tino Group mong rằng bạn đã hiểu hơn về MD5 là gì cũng như máy tính và dữ liệu của bạn luôn luôn an toàn trên môi trường mạng!
Những câu hỏi thường gặp về MD5
Vì sao kiểm tra mã MD5 lại lâu?
Gói phần mềm, file bạn tải về càng lớn, thời gian để chương trình có thể kiểm tra mã MD5 sẽ càng lâu. Vì chương trình sẽ phải thực hiện nhiều công việc hơn những file nhỏ. Vì thế, bạn nên kiên nhẫn để chương trình quét xong trước khi cài đặt những chương trình quan trọng như hệ điều hành nhé!
Đối với các phần mềm thông thường, nếu bạn tải từ trang chủ nhà phát triển, phần lớn các trường hợp bạn sẽ không cần phải kiểm tra mã MD5 để check sự toàn vẹn của file đâu.
Cách tải file không cần kiểm tra sự toàn vẹn ra sao?
Nếu bạn tải các file thông thường để cài đặt phần mềm,… bạn có thể sử dụng IDM để hỗ trợ tải file nhanh hơn, đảm bảo tính toàn vẹn cao hơn khi tải thông thường bằng trình duyệt.
Đối với những file quan trọng như hợp đồng hoặc có nội dung bí mật, bạn vẫn nên kiểm tra mã hoá (nếu có) để tránh việc bị nhiễm virus hay nội dung bên trong đã thay đổi nhưng bạn đồng ý ký.
Kiểm tra virus khi không có mã MD5 từ nhà phát hành?
Trên internet có vô vàn nguy hiểm. Vì vậy, trước khi tải bất kì tệp nào xuống, bạn hãy kiểm tra xem có bật tường lửa, Windows Defender hay bất cứ phần mềm bảo mật nào hay không. Điều này sẽ làm giảm thiểu việc máy bạn nhiễm các phần mềm độc hại.
Vì hầu hết các tệp có nội dung lớn, các nhà phát hành sẽ đính kèm mã MD5 để bạn kiểm tra. Nếu bạn tải phiên bản không có mã MD5, khả năng cao đó không phải là bản gốc.
Làm sao để tạo mã MD5 cho file trong JavaScript?
Nếu bạn không thích sử dụng viện trong JavaScript, bạn có thể sử dụng đoạn code sau:
var MD5 = function(d){var r = M(V(Y(X(d),8d.length)));return r.toLowerCase()};function M(d){for(var ,m=”0123456789ABCDEF”,f=””,r=0;r=d.charCodeAt(r),f+=m.charAt(>>>4&15)+m.charAt(15&);return f}function X(d){for(var =Array(d.length>>2),m=0;m<.length;m++)[m]=0;for(m=0;m<8d.length;m+=8)[m>>5]|=(255&d.charCodeAt(m/8))<}function V(d){for(var =””,m=0;m<32*d.length;m+=8)+=String.fromCharCode(d[m>>5]>>>m%32&255);return }function Y(d,){d[>>5]|=128<<%32,d[14+(+64>>>9<<4)]=;for(var m=1732584193,f=-271733879,r=-1732584194,i=271733878,n=0;n,m,f,r,i){return safe_add(bit_rol(safe_add(safe_add(,d),safe_add(f,i)),r),m)}function md5_ff(d,,m,f,r,i,n){return md5_cmn(&m|~&f,d,,r,i,n)}function md5_gg(d,,m,f,r,i,n){return md5_cmn(&f|m&~f,d,,r,i,n)}function md5_hh(d,,m,f,r,i,n){return md5_cmn(^m^f,d,,r,i,n)}function md5_ii(d,,m,f,r,i,n){return md5_cmn(m^(|~f),d,,r,i,n)}function safe_add(d,){var m=(65535&d)+(65535&);return(d>>16)+(>>16)+(m>>16)<<16|65535&m}function bit_rol(d,){return d<<|d>>>32-}
/** NORMAL words**/
var value = ‘test’;
var result = MD5(value);
document.body.innerHTML = ‘hash – normal words: ‘ + result;
/** NON ENGLISH words**/
value = ‘מבחן’
//unescape() can be deprecated for the new browser versions
result = MD5(unescape(encodeURIComponent(value)));
document.body.innerHTML += ‘
hash – non english words: ‘ + result;
Nguồn tham khảo: Stackoverflow
Phương pháp bảo mật tốt hơn MD5?
Bản thân MD5 đã rất tốt rồi. Nếu bạn tìm một phương pháp bảo mật tốt hơn mã MD5, bạn có thể xem về SHA.
Những phương pháp mã hoá khác ngoài MD5?
Bạn muốn tìm hiểu thêm về mã hoá? Vậy bạn có thể tham khảo các loại mã hoá dưới đây:
- CRC-16
- CRC-32
- MD2
- MD4
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
- SHA512/224
- SHA512/256
- SHA3-224
- SHA3-256
- SHA3-384
- SHA3-512
- Keccak-224
- Keccak-256
- Keccak-384
- Keccak-512
- Shake-128
- Shake-256