Miklix

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.

Trang này được dịch máy từ tiếng Anh để có thể tiếp cận được với nhiều người nhất có thể. Thật không may, dịch máy vẫn chưa phải là công nghệ hoàn thiện, do đó có thể xảy ra lỗi. Nếu bạn thích, bạn có thể xem phiên bản tiếng Anh gốc tại đây:

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.


Bereken Nuwe Hash-kode

Dữ liệu được gửi hoặc tệp được tải lên thông qua biểu mẫu này sẽ chỉ được lưu trên máy chủ trong thời gian cần thiết để tạo mã băm theo yêu cầu. Mã băm sẽ bị xóa ngay trước khi kết quả được trả về trình duyệt của bạn.

Dữ liệu đầu vào:



Văn bản đã gửi được mã hóa UTF-8. Vì hàm băm hoạt động trên dữ liệu nhị phân, kết quả sẽ khác so với khi văn bản được mã hóa khác. Nếu bạn cần tính toán băm của văn bản trong một mã hóa cụ thể, bạn nên tải tệp lên thay thế.



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

Chia sẻ trên BlueskyChia sẻ trên FacebookChia sẻ trên LinkedInChia sẻ trên TumblrChia sẻ trên XChia sẻ trên LinkedInGhim trên Pinterest

Mikkel Bang Christensen

Về tác giả

Mikkel Bang Christensen
Mikkel là người sáng lập và chủ sở hữu của miklix.com. Ông có hơn 20 năm kinh nghiệm làm lập trình viên máy tính/nhà phát triển phần mềm chuyên nghiệp và hiện đang làm việc toàn thời gian cho một tập đoàn CNTT lớn của Châu Âu. Khi không viết blog, ông dành thời gian rảnh rỗi cho nhiều sở thích, thú vui và hoạt động, có thể được phản ánh ở một mức độ nào đó trong nhiều chủ đề được đề cập trên trang web này.