Máy tính mã băm SHA-1
Đã xuất bản: lúc 23:25:17 UTC 16 tháng 2, 2025
Cập nhật lần cuối: lúc 09:10:30 UTC 12 tháng 1, 2026
SHA-1 Hash Code Calculator
SHA-1 (Secure Hash Algorithm 1) là một hàm băm mật mã được thiết kế bởi NSA và được NIST công bố vào năm 1995. Nó tạo ra một 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 dữ liệu, chữ ký số và chứng chỉ, nhưng hiện nay nó được coi là không an toàn do các lỗ hổng 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ũ, nhưng không nên sử dụng nó 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.
Giới thiệu 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 chuyên về toán học cũng 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, bạn có thể tìm thấy nó trên nhiều trang web khác ;-)
Hãy tưởng tượng SHA-1 giống 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ù chỉ là một từ, một câu hay cả một cuốn sách - và hủy chúng theo một cách rất cụ thể. Nhưng thay vì chỉ hủy giấy, nó sẽ tự động tạo ra một "mã hủy" duy nhất, luôn có độ dài chính xác là 40 ký tự thập lục phân.
- Ví dụ, bạn nhập "Xin chào
- Bạn sẽ nhận được 40 chữ số thập lục phân như f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
Dù bạn cho vào chuỗi ngắn hay dài, đầu ra luôn có cùng độ dài.
Máy hủy tài liệu thần kỳ" hoạt động theo bốn bước:
Bước 1: Chuẩn bị giấy (lớp đệm)
- Trước khi hủy tài liệu, bạn cần chuẩn bị giấy. Hãy tưởng tượng bạn 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ấy.
- Nó giống như khi bạn nướng bánh quy, và bạn phải đảm bảo bột lấp đầy khuôn một cách đều đặn.
Bước 2: Cắt thành các phần bằng nhau (tách đôi)
- Máy hủy giấy không thích những mẩu giấy lớn. Vì vậy, nó sẽ cắt nhỏ tin nhắn bạn đã chuẩn bị thành những mảnh nhỏ 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)
- Giờ đến phần thú vị nhất! Bên trong máy hủy tài liệu, mỗi phần trong thông điệp của bạn sẽ trải qua một loạt các bộ phận trộn và lăn: Trộn: Máy trộ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ố được tích hợp sẵn). Nghiền: Máy ép, lật và xoay các phần theo một cách đặc biệt. Xoắn: Một số phần được xoắn hoặc đảo ngược, giống như gấp giấy thành hình origami.
Mỗi bước đều khiến thông điệp trở nên rối rắm 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 (Mã băm)
- Sau tất cả các bước trộn và kết hợp, kết quả là một đoạn mã được xáo trộn gọn gàng - giống như dấu vân tay độc nhất vô nhị cho thông điệp của bạn.
- Ngay cả khi bạn chỉ thay đổi một chữ cái trong tin nhắn gốc, kết quả đầu ra sẽ hoàn toàn khác. Đó là điều làm nên sự đặc biệt của nó.
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 bộ lọc để tạo ra cùng một mã cho hai thông điệp khác nhau (điều này được gọi là xung đột).
Thay vì SHA-1, giờ đây chúng ta có những "công cụ cắt xén" mạnh mẽ và thông minh hơn. Tại thời điểm viết bài này, thuật toán băm mặc định mà tôi thường dùng cho hầu hết các mục đích là SHA-256 - và vâng, tôi cũng có một công cụ tính toán cho việc đó: [Liên kết]
Đọc thêm
Nếu bạn thích bài viết này, bạn cũng có thể thích những gợi ý sau:
