Hướng dẫn dùng md5 hasher trong PHP

Bạn đang muốn giải mã MD5? Nhưng MD5, Sha1, Sha256, Sha512 là các thuật toán mã hóa một chiều cơ mà? Làm sao để dịch ngược mã MD5 được? Vậy thì tốt nhất nên đọc kỹ bài viết này. Bài này Huy Hòa sẽ hướng dẫn các bạn cách giải mã MD5 online mà không cần bất kỳ phần mềm hay kiến thức về code nào cả.

Table of Contents

  • 1 Mã hóa MD5 là gì?
  • 2 Ứng dụng của mã hóa MD5
  • 3 Có thể giải mã MD5 được không?
  • 4 Vậy tại sao vẫn có nhiều trang web giải mã hóa MD5 thế?
  • 5 Một số trang web cho Decrypt MD5 Online
    • 5.1 Md5[] Encrypt & Decrypt – Trang dịch ngược mã MD5 tốt nhất
    • 5.2 MD5 Decryption Online
    • 5.3 MD5 conversion and MD5 reverse lookup
  • 6 Check MD5
    • 6.1 Hướng dẫn check MD5 bằng phần mềm FFSJ
    • 6.2 Cách check mã md5 bằng MD5 & SHA Checksum Utility Portable
  • 7 Các trang web Check MD5 Online tốt nhất
    • 7.1 Generate and verify the MD5/SHA1 checksum – OnlineMD5
    • 7.2 MD5 File Checksum – emn178
    • 7.3 HTML5 File Hash Online Calculator
  • 8 Kết luận

Mã hóa MD5 là gì?

Trước khi muốn giải mã MD5, chúng ta cần tìm hiểu cách thức mã hóa MD5 là gì?
Theo WikiPedia mã hóa MD5 là mã hóa một chiều.  MD5 là viết tắt tiếng Anh của Message-Digest algorithm 5. Mã hóa MD5 là một hàm băm mật mã học được sử dụng phổ biến với giá trị Hash dài 128-bit. Là một chuẩn Internet [RFC 1321], MD5 đã được dùng trong nhiều ứng dụng bảo mật, và cũng được dùng phổ biến để kiểm tra tính toàn vẹn của tập tin.

Một bảng băm MD5 thường được diễn tả bằng một số hệ thập lục phân 32 ký tự.

Dịch ngược mã MD5 online

Ứng dụng của mã hóa MD5

Mã hóa MD5 ngoài việc được sử dụng trong việc tạo mật khẩu cho các CMS, phần mềm hoặc các tools khác có sử dụng xác thực người dùng thì còn được ứng dụng trong việc xác thực tệp tin [files]. Khi tạo ra một file nào đó, tác giả hay cho kèm theo mã SHA1 hoặc mã hóa MD5 của file đó.

Khi download file về bạn chỉ cần kiểm tra mã hóa MD5 [hoặc SHA1, SHA256… tùy vào mã mà tác giả đưa ra] của tệp tin tải về có trùng với mã hóa của tác giả cho hay không. Nếu nó trùng nhau thì có nghĩa file bạn tải về là file gốc của tác giả. Nếu nó không trùng thì có nghĩa file đó đã bị can thiệp [sửa chữa].

Có thể giải mã MD5 được không?

Không, chắc chắn không thể giải mã MD5 được đâu.  Cũng như các hàm mã hóa khác như Sha1, Sha256, Sha512, nó là hàm mã hóa một chiều. Mà đã là mã hóa một chiều, tức là chỉ từ ký tự cho ra hàm băm chứ không thể chuyển ngược từ hàm băm ra ký tự được.

Mặc dù MD5 là mã hóa một chiều nhưng vẫn có rất nhiều website cho dịch ngược MD5 online miễn phí

Vậy tại sao vẫn có nhiều trang web giải mã hóa MD5 thế?

Cơ chế hoạt động của các website đó là sưu tập các mã hóa MD5 người dùng nhập vào, để tạo thành cơ sở dữ liệu thật lớn. Khi dữ liệu đủ lớn, xác xuất giải mã MD5 cũng cao lên. Cơ chế hoạt động của nó như thế này:

  • Người dùng mã hóa ký tự bằng các hàm mã hóa MD5, Sha1, Sha256, Sha512…
  • Hệ thống lưu lại cả ký tự và hàm băm đã được mã hóa. Ví dụ khi mã hóa chữ huyhoa, chúng ta sẽ có hàm băm là 117dccf3deffa2e98402a32245e615e6. Tức là Md5[huyhoa] = 117dccf3deffa2e98402a32245e615e6. Lúc này hệ thống sẽ lưu lại trong cơ sở dữ liệu cả 2 thuộc tính này.
  • Khi có người tìm cách giải mã MD5 của chuỗi 117dccf3deffa2e98402a32245e615e6, nó sẽ tra trong cơ sở dữ liệu và trả về kết quả huyhoa.

Bây giờ thì các bạn đã hiểu tại sao có rất nhiều trang web dùng để giải mã các loại mã hóa như MD5, Sha1, Sha256, Sha512… rồi chứ? Hầu như tất cả các dạng trang web cho phép giải mã hóa MD5 trực tuyến, giải mã SHA1, SHA256, SHA512 đều hoạt động theo kiểu như bên trên.

Giải mã MD5 hay Decrypt MD5 vẫn có thể thực hiện được mặc dù nó là mã hóa một chiều

Một số trang web cho Decrypt MD5 Online

Ngoài một số phần mềm cho phép Decrypt MD5 Offline [mà mình khuyên các bạn không nên sử dụng vì nhiều rủi ro khác và lại còn ít cơ sở dữ liệu hơn các phiên bản online], thì hiện nay có rất nhiều trang web cho phép bạn dịch ngược mã MD5 online.

Không những chỉ giải mã MD5 online, nhiều trang web còn cho phép giải mã rất nhiều mã hóa một chiều khác như Sha1, Sha256, Sha512… Dưới đây là một số trang web mà Huy Hòa thấy có dữ liệu lớn [tức là xác xuất nó giải mã được các chuỗi băm cũng cao hơn].

Md5[] Encrypt & Decrypt – Trang dịch ngược mã MD5 tốt nhất

Link: //md5decrypt.net/

Trang web này vừa cho phép bạn Encode MD5, vừa cho phép bạn dịch ngược mã MD5 online. Ngoài MD5, nó còn cho phép các bạn giải mã rất nhiều mã hóa một chiều khác. Đây là danh sách các loại mã hóa nó cho phép mã hóa hoặc giải mã online:

  • Decryption Md5
  • Decryption Md4
  • Decryption Sha1
  • Decryption Sha256
  • Decryption Sha384
  • Decryption Sha512
  • Decryption Ntlm
  • Decryption Xor
  • Decryption Code Morse
  • Encryption Bcrypt
  • Encryption Blowfish
  • Encryption Whirlpool

MD5 Decryption Online

Link: //www.md5online.org/md5-decrypt.html

Tương tự các trang khác, nó cũng có chức năng Encode MD5 và có một cơ sở dữ liệu những mã hóa MD5, sau đó so sánh và tạo ra chức năng giải mã MD5 như link trên.

MD5 conversion and MD5 reverse lookup

Link: //md5.gromweb.com/

Trang này cho phép bạn so sánh giá trị đã được mã hóa md5 của bạn với giá trị được mã hóa md5 khác để kiểm tra xem có trùng khớp không. Nếu trùng khớp thì nó cho ra kết quả giải mã MD5 của chuỗi băm bạn đã nhập vào.

Huy Hòa đã cố gắng tìm kiếm trang web cho phép giải mã hóa MD5 trực tuyến bằng tiếng Việt nhưng hầu như không có. Hoặc chưa tìm thấy. Có một số phần mềm giải mã MD5 nhưng như Huy Hòa đã nói, mình không khuyến khích các bạn sử dụng phần mềm. Một số tool giải mã md5 [công cụ giải mã MD5 đó] như đã nêu ở trên thì hầu hết là tiếng Anh hoặc tiếng Pháp.

Check MD5

Như đã nói ở bên trên, MD5 được ứng dụng để xác lập và kiểm tra tính toàn vẹn của tệp tin [files].  Điều này đảm bảo tệp tin bạn tải về không bị lỗi hoặc không bị dính virus. Hiện nay có nhiều cách để check MD5. Các bạn có thể dùng phần mềm check MD5, hoặc một số website cho check MD5 online.

Hướng dẫn check MD5 bằng phần mềm FFSJ

Thực ra chức năng chính của phần mềm FFSJ: The Fastest File Splitter and Joiner là chia nhỏ và gộp files. Nhưng nó lại có một chức năng rất hay là Check MD5 của file bất kỳ. Cách sử dụng như sau:

Bạn mở phần mềm FFSJ lên, chuyển sang Tab MD5 Checksum.

Hướng dẫn check MD5 bằng phần mềm FFSJ

Tại mục Get MD5 Signature from: Click vào biểu tượng thư mục để chọn file bạn cần Check mã MD5.

Sau đó nhấn vào biểu tượng Get & Copy. Mã MD5 Checksum của file sẽ được hiện ra ở mục MD5 Signature và được tự động copy vào bộ nhớ của máy tính.

Cách check mã md5 bằng MD5 & SHA Checksum Utility Portable

Cách check MD5 bằng phần mềm MD5 &SHA Checksum Utility khá đơn giản. Mở phần mềm MD5 & SHA Checksum Utility Portable lên. Tại giao diện chính của phần mềm, mục FIle, chọn Browse để tìm đến thư mục chứa file cần check mã MD5 hoặc SHA. Sau khi chọn file, các mã MD5, SHA-1, SHA-256, SHA-512 sẽ tự động hiện ra.

Tại mục Hash, bạn nhập mã MD5 hoặc Mã SHA-1 hoặc SHA-256, SHA-512 mà tác giả cung cấp cho bạn vào đó. Nhấn Verify.

Hướng dẫn cách check mã md5 bằng MD5 & SHA Checksum Utility Portable

Các trang web Check MD5 Online tốt nhất

Generate and verify the MD5/SHA1 checksum – OnlineMD5

Link: //codebeautify.org/checksum-calculator

Trang web này cho phép bạn tạo mã MD5 trực tuyến hoặc kiểm tra mã MD5 trực tuyến của một file bất kỳ. Giao diện rất trực quan và cực kỳ dễ sử dụng. Để check mã MD5 của file nào đó, bạn chỉ cần nhấn vào dòng chữ “Click to select a file, or drag and drop it here” để chọn file cần kiểm tra.

Website sẽ không cần upload file của bạn nên các bạn cũng không lo mất dữ liệu, mọi việc được làm trực tuyến khá dễ dàng. Sau khi bạn chọn file xong thì nó sẽ hiện các mã MD5 / SHA1 / SHA-256 tương ứng và một ô FIle Checksum để hiện mã tương ứng.

Tại ô Compare with, bạn nhập mã mà bạn cần so sánh để kiểm tra.

Nếu nó hiện dáu tích xanh bên cạnh ô Compare With là file của bạn là file gốc chưa bị chỉnh sửa. Nếu nó hiện dấu nhân màu đỏ nghĩa là file đã bị chỉnh sửa không phải file nguyên bản.

Online MD5 Checksum

MD5 File Checksum – emn178

Link: //emn178.github.io/online-tools/md5_checksum.html

Một website cực kỳ đơn giản, chức năng cũng chỉ có Check mã MD5 online mà thôi.  Truy cập vào website Emn178 ở link bên trên, sau đó tại mục MD5 online hash file checksum function, bạn chọn file cần check. Sau khi chọn xong file thì ô bên dưới sẽ tự động cập nhật mã MD5 của file đó.

MD5 File Checksum

HTML5 File Hash Online Calculator

Link: //md5file.com/calculator

Đây là website cho phép kiểm tra mã MD5 online sử dụng html5. Chính vì thế có thể trên một số trình duyệt nó không hỗ trợ. Ví dụ như website này có thể check MD5 trên Google Chrome nhưng lại không hoạt động trên Microsoft Edge Chronium.

Cách sử dụng:
Truy cập vào website bên trên, tại mục Drop files here or click to select bạn nhấn vào để chọn file. Sau khi chọn file thì nó sẽ hiện luôn các mã mà nó hỗ trợ ra ngay bên dưới. Nếu nó không hiện mã nào thì thử đổi trình duyệt khác xem nhé. Vì như mình nói ở trên, một số trình duyệt bị lỗi đó.

HTML5 File Hash Online Calculator

Kết luận

Như vậy, các bạn đã hiểu mặc dù mã hóa MD5 là mã hóa một chiều mà rất nhiều chỗ họ lại tự tin có thể giải mã MD5 rồi chứ? Khi mà dữ liệu đầu vào của hàm băm càng lớn, thì xác xuất dịch ngược được các loại mã hóa một chiều càng cao.

Trước đây, hầu hết các CMS hay Forum viết bằng PHP, thậm chí cả Dot Net, hay các ngôn ngữ lập trình khác như C#, C++… đều sử dụng hàm mã hóa MD5. Có thời điểm, mã hóa password chỉ được lưu trong cơ sở dữ liệu với giá trị đơn giản kiểu như MD5[‘Giá trị ô password nhập vào’].

Nhưng càng về sau này, các hệ thống càng cải tiền và phát triển. Hầu hết đều có những hàm mã hóa riêng của từng loại. Ví dụ như PHPBB có kiểu mã hóa riêng. VBB, IPB, Joomla, WordPress đều có hàm mã hóa mật khẩu riêng và gần như là 1 chiều. Họ kết hợp nhiều hàm mã hóa một chiều trong một function của họ để mã hóa mật khẩu trước khi lưu vào cơ sở dữ liệu.

Tuy nhiên, khi mà MD5 là mã hóa một chiều nên họ vẫn cho phép lưu mật khẩu bằng mã hóa MD5. Cái này dùng để ứng dụng khi mà bạn muốn đổi mật khẩu mà ko cần dùng chức năng đổi mật khẩu của website. Các bạn có thể truy cập thẳng vào phpmyadmin rồi tìm đến bảng database lưu dữ liệu user. Sửa user cần đổi mật khẩu, mục mật khẩu các bạn nhập giá trị mật khẩu, sau đó ở cột encode, bạn chọn MD5. Save lại là xong.

Chủ Đề