2014-10-23 89 views
5

Tôi cần giải mã mật khẩu được băm này: e59dc19f2a3a569417fa183696f91604 và có muối: 4067. Có thể khôi phục mật khẩu bằng thông tin này không?Có thể giải mã băm MD5 bằng muối không?

+0

Bạn có biết muối và băm được áp dụng như thế nào không? –

+3

Hãy suy nghĩ về điều này trong một phút: băm md5 mất một chuỗi có độ dài tùy ý và tạo ra một chuỗi có độ dài không đổi. Điều này một mình sẽ cho bạn biết rằng nó không thể đảo ngược nó. Tại sao? Bởi vì phải có một số lượng vô hạn các chuỗi sẽ băm đến độ dài đó: băm không mã hóa, nó không bảo toàn thông tin. –

+4

Toàn bộ điểm của _hashing_ là làm cho điều đó là không thể. – SLaks

Trả lời

4

Không, thuật toán băm là một cách.

Bạn có thể băm mật khẩu ban đầu một lần nữa và xem kết quả băm có khớp với mật khẩu trước đó hay không.

+2

Đối với câu hỏi "có thể" câu trả lời là có. Bạn có thể cảm thấy rằng "Không" là câu trả lời đúng bởi vì nó không khả thi, nhưng sẽ rất tốt để giải thích lý do tại sao (ví dụ: đưa ra một số ví dụ về độ khó của nó). – greggles

-5

Tôi đã cố gắng giải mã băm bằng muối và nó hoạt động nhưng chỉ với cùng một ứng dụng hoặc phương thức mã hóa (ý tôi là với cùng một điều chính xác, nếu bạn mã hóa nó trên trang web hoặc ứng dụng bạn phải giải mã ở cùng một nơi).

Tôi hy vọng rằng sẽ giúp

1

Có cách để giải mã, nhưng đó là một quá trình lâu dài và mất thời gian. Nó được gọi là "brute-force", có nghĩa là bạn sẽ thử một số lượng lớn (và lớn, tôi có nghĩa là phụ thuộc lớn vào độ dài của mật khẩu) số lượng đầu vào. Vì hàm băm là hàm một chiều tạo ra kết quả không ngẫu nhiên, bạn sẽ luôn ánh xạ đầu vào cho cùng một đầu ra. Vì vậy, bằng cách sử dụng "brute-force", nghĩa là bạn đang thử mọi kết hợp có thể và xem liệu giá trị băm có bằng với hash được lưu trữ trên hệ thống hay không (vì bạn đã biết muối). Có những công cụ làm điều này như John the Ripper (có sẵn trên Kali Linux) nhưng một lần nữa, phụ thuộc vào sức mạnh tính toán của bạn, nó có thể mất một thời gian.

1

Bạn nói từ giải mã trong câu hỏi của bạn, vì vậy tôi muốn chỉ đề cập trước hết đó băm là không một mã hóa phương tiện. Mã hóa là một quá trình mã hóa và giải mã hai chiều. Đó là cách để bảo mật dữ liệu khi chuyển tiếp hoặc ứ đọng.

Dấu gạch ngang là thuật toán một chiều và không thể được giải mã. Tuy nhiên, có nghĩa là tìm ra những gì đã được băm. Nếu bạn thực hiện một số nghiên cứu về Bảng cầu vồng, bạn sẽ thấy rằng bạn chỉ cần xây dựng một danh sách các văn bản (với muối, trong trường hợp của bạn) và mã băm tương ứng của chúng.

Hashes và Encryption giống như bánh mì và kem. Bạn có thể hâm nóng bánh mì và nướng bánh mì, nhưng bạn không thể làm nguội bánh mì nướng để lấy bánh mì. Bạn có thể thoa kem lên để lấy kem, và bạn có thể làm nguội nó xuống lần nữa để lấy lại icecream của bạn.

Các vấn đề liên quan