Máy tính mã băm SHA-1
Đã xuất bản: lúc 23:25:17 UTC 16 tháng 2, 2025
Máy tính mã băm sử dụng hàm băm Thuật toán băm an toàn 1 (SHA-1) để tính toán mã băm dựa trên văn bản đầu vào hoặc tệp tải lên.SHA-1 Hash Code Calculator
SHA-1 (Thuật toán băm an toàn 1) là một hàm băm mật mã do NSA thiết kế và được NIST công bố vào năm 1995. Nó tạo ra giá trị băm 160 bit (20 byte), thường được biểu diễn dưới dạng chuỗi thập lục phân 40 ký tự. SHA-1 được sử dụng rộng rãi để bảo mật tính toàn vẹn của dữ liệu, chữ ký số và chứng chỉ, nhưng hiện nay được coi là không an toàn do dễ bị tấn công va chạm. Nó được đưa vào đây trong trường hợp cần tính toán mã băm phải tương thích với hệ thống cũ hơn, nhưng không nên sử dụng khi thiết kế hệ thống mới.
Tiết lộ đầy đủ: Tôi không viết phần triển khai cụ thể của hàm băm được sử dụng trên trang này. Đây là một hàm chuẩn đi kèm với ngôn ngữ lập trình PHP. Tôi chỉ tạo giao diện web để công khai ở đây cho thuận tiện.
Về thuật toán băm SHA-1
Tôi không phải là nhà toán học, vì vậy tôi sẽ cố gắng giải thích hàm băm này theo cách mà những người không phải nhà toán học khác có thể hiểu được - nếu bạn muốn phiên bản toán học khoa học chính xác của lời giải thích, bạn có thể tìm thấy trên nhiều trang web khác ;-)
Hãy nghĩ về SHA-1 như một máy hủy giấy đặc biệt có thể xử lý bất kỳ thông điệp nào - dù là một từ, một câu hay toàn bộ một cuốn sách - và hủy thông điệp đó theo một cách rất cụ thể. Nhưng thay vì chỉ hủy, nó sẽ kỳ diệu nhả ra một "mã hủy" duy nhất luôn dài đúng 40 ký tự thập lục phân.
- Ví dụ, bạn nhập "Xin chào"
- Bạn nhận được 40 chữ số thập lục phân như f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
Bất kể bạn cung cấp lượng điện gì - ngắn hay dài - đầu ra luôn có cùng độ dài.
"Máy hủy tài liệu ma thuật" hoạt động theo bốn bước:
Bước 1: Chuẩn bị giấy (Đệm)
- Trước khi hủy, bạn cần chuẩn bị giấy. Hãy tưởng tượng việc thêm khoảng trống vào cuối tin nhắn để nó vừa khít với khay của máy hủy.
- Giống như khi bạn nướng bánh quy, bạn phải đảm bảo bột được đổ đều vào khuôn.
Bước 2: Cắt thành từng miếng bằng nhau (Tách)
- Máy hủy tài liệu không thích những khối lớn. Vì vậy, nó sẽ cắt tin nhắn đã chuẩn bị của bạn thành những mảnh nhỏ hơn, có kích thước bằng nhau - giống như cắt một chiếc bánh lớn thành những lát hoàn hảo.
Bước 3: Công thức bí mật (Trộn và nghiền)
- Bây giờ đến phần thú vị! Bên trong máy hủy, mỗi phần tin nhắn của bạn sẽ đi qua một loạt máy trộn và máy lăn:
- Trộn lẫn: Trộn lẫn thông điệp của bạn với một số thành phần bí mật (các quy tắc và con số tích hợp sẵn).
- Nghiền: Nghiền nát, lật và xoay các bộ phận theo một cách đặc biệt.
- Xoắn: Một số bộ phận bị xoắn hoặc đảo ngược, giống như cách gấp giấy thành nghệ thuật origami.
Mỗi bước làm cho thông điệp trở nên hỗn loạn hơn, nhưng theo một cách rất cụ thể mà máy luôn tuân theo.
Bước 4: Mã cuối cùng (Băm)
- Sau khi trộn và xử lý, ta sẽ có được một đoạn mã được xáo trộn gọn gàng - giống như dấu vân tay riêng biệt cho tin nhắn của bạn.
- Ngay cả khi bạn thay đổi chỉ cần một chữ cái trong tin nhắn gốc của bạn, kết quả sẽ hoàn toàn khác. Đó là điều làm cho nó trở nên đặc biệt.
Lý do SHA-1 không nên được sử dụng nữa là vì một số người rất thông minh đã tìm ra cách đánh lừa máy hủy tài liệu tạo ra cùng một mã cho hai thông điệp khác nhau (đây được gọi là xung đột ).
Thay vì SHA-1, giờ đây chúng ta có "máy hủy" mạnh hơn, thông minh hơn. Tại thời điểm viết bài, thuật toán băm mặc định của tôi cho hầu hết các mục đích là SHA-256 - và vâng, tôi cũng có một máy tính cho thuật toán đó: Máy tính mã băm SHA-256