Điểm:0

Hai mật mã khác nhau có cùng MD5

lá cờ cn

Tôi đã tự hỏi liệu ai đó có thể giúp giải thích rõ hơn về xung đột md5 hay không. Tôi tìm thấy tài nguyên này: https://www.mscs.dal.ca/~selinger/md5collision/ nơi họ cung cấp một ví dụ về trường hợp hai văn bản mật mã có cùng md5. Tôi đã cố xác nhận rằng ví dụ của họ là chính xác nhưng khi tôi nhập ví dụ của họ vào máy tính md5, tôi nhận được hai md5 khác nhau cho hai văn bản mật mã khác nhau. Tôi đang làm gì sai?

dave_thompson_085 avatar
lá cờ cn
Đó không phải là văn bản mật mã hoặc mật mã và MD5 không phải là mật mã. MD5 là hàm băm mật mã, còn được gọi là thông báo (thuật toán). Dữ liệu trên trang đó ở dạng thập lục phân hay còn gọi là hex, cũng như nhiều dữ liệu mật mã và dữ liệu liên quan đến máy tính khác được hiển thị cho con người; bất kỳ máy tính md5 nào bạn đang sử dụng (có hàng triệu máy tính khác nhau) được thiết lập cho đầu vào hex?
ming alex avatar
lá cờ in
Kết quả của tôi là như nhau, tức là 79054025255fb1a26e4bc422aef54eb4, cho cả hai đầu vào khác nhau. Tôi khuyên bạn nên sử dụng một số công cụ HEX, chẳng hạn như WinHex, để tạo hai tệp, không ghi chú hoặc noetpad.
Điểm:3
lá cờ ng
SSA

bạn phải chuyển đổi chúng thành byte trước khi sử dụng chúng. Tôi sử dụng python để tìm hàm băm md5. x='d131dd02c5e6eec4693d9a0698aff95c2fcab58712467eab4004583eb8fb7f8955ad340609f4b30283e488832571415a085125e8f7cdc99fd91dbdf280373c5bd8823e3156348f5bae6dacd436c919c6dd53e2b487da03fd02396306d248cda0e99f33420f577ee8ce54b67080a80d1ec69821bcb6a8839396f9652b6ff72a70'

 c=byte.fromhex(x)

b'\xd11\xdd\x02\xc5\xe6\xee\xc4i=\x9a\x06\x98\xaf\xf9\/\xca\xb5\x87\x12F~\xab@\x04X>\xb8\xfb\x7f \x89U\xad4\x06\t\xf4\xb3\x02\x83\xe4\x88\x83%qAZ\x08Q%\xe8\xf7\xcd\xc9\x9f\xd9\x1d\xbd\xf2\x807<[\ xd8\x82>1V4\x8f[\xaem\xac\xd46\xc9\x19\xc6\xddS\xe2\xb4\x87\xda\x03\xfd\x029c\x06\xd2H\xcd\xa0\xe9\x9f3B\x0fW ~\xe8\xceT\xb6p\x80\xa8\r\x1e\xc6\x98!\xbc\xb6\xa8\x83\x93\x96\xf9e+o\xf7*p'

n=hashlib.md5(c)

bas.hexlify(n.digest())

b'79054025255fb1a26e4bc422aef54eb4'

cùng một cách lấy y có một chuỗi khác và chuyển đổi nó thành byte trước.

c2= byte.từhex(y)

b'\xd11\xdd\x02\xc5\xe6\xee\xc4i=\x9a\x06\x98\xaf\xf9\/\xca\xb5\x07\x12F~\xab@\x04X>\xb8\xfb\ x7f\x89U\xad4\x06\t\xf4\xb3\x02\x83\xe4\x88\x83%\xf1AZ\x08Q%\xe8\xf7\xcd\xc9\x9f\xd9\x1d\xbdr\x807<[\ xd8\x82>1V4\x8f[\xaem\xac\xd46\xc9\x19\xc6\xddS\xe24\x87\xda\x03\xfd\x029c\x06\xd2H\xcd\xa0\xe9\x9f3B\x0fW~\ xe8\xceT\xb6p\x80(\r\x1e\xc6\x98!\xbc\xb6\xa8\x83\x93\x96\xf9e\xabo\xf7*p'

v=hashlib.md5(c2) bas.hexlify(v.digest())

b'79054025255fb1a26e4bc422aef54eb4'

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.