Trình kiểm tra checksum
Checksum là dấu vân tay ngắn được tính từ một dữ liệu và nhà phát hành liệt kê chúng để bạn có thể xác nhận rằng một bản tải xuống hoặc giá trị cấu hình không bị hỏng hay bị thay đổi. Trình kiểm tra này tính checksum của văn bản bạn dán bằng MD5, SHA-1, SHA-256, SHA-384, SHA-512 hoặc CRC32 và nếu bạn cũng dán một giá trị mong đợi, công cụ sẽ cho bạn biết ngay liệu chúng có khớp hay không. Hữu ích để kiểm tra khóa API, mã giấy phép, đoạn cấu hình và tin nhắn ngắn so với giá trị băm mà nhà cung cấp công bố.
Cách xác minh checksum
-
1
Dán văn bản
Nhập hoặc dán văn bản cần tính checksum, ví dụ khóa API, mã giấy phép hoặc đoạn cấu hình.
-
2
Chọn thuật toán
Chọn MD5, SHA-1, SHA-256, SHA-384, SHA-512 hoặc CRC32. Dùng đúng thuật toán mà nhà phát hành đã dùng cho giá trị bạn đang so sánh.
-
3
Dán giá trị mong đợi (tùy chọn)
Thêm giá trị băm từ trang của nhà phát hành. Phép so sánh bỏ qua chữ hoa/thường; giữ nguyên giá trị băm đúng như công bố.
-
4
Xem kết luận
Checksum tính được hiển thị để sao chép và nếu bạn nhập giá trị mong đợi, công cụ sẽ đánh dấu khớp bằng màu xanh hoặc không khớp bằng màu đỏ.
Nên dùng thuật toán nào
| Thuật toán | Kích thước đầu ra | Tốc độ | Chống va chạm? | Dùng để… |
|---|---|---|---|---|
| MD5 | 128 bit | Nhanh nhất | Hỏng | Chỉ tương thích hệ thống cũ |
| SHA-1 | 160 bit | Nhanh | Lỗi thời | Hệ thống cũ; git vẫn dùng |
| SHA-256 | 256 bit | Trung bình | Có | Tiêu chuẩn hiện đại |
| SHA-384 | 384 bit | Trung bình | Có | Hệ thống đã dùng 384 bit |
| SHA-512 | 512 bit | Trung bình | Có | Đề phòng thêm / khóa mã hóa |
| CRC32 | 32 bit | Nhanh nhất | Không | Kiểm tra hỏng hóc nhanh, không phải bảo mật |
Hãy dùng SHA-256 trừ khi nhà phát hành công bố thuật toán khác. MD5 và SHA-1 vẫn xuất hiện ở các bản tải cũ nhưng có thể giả mạo dễ dàng bằng phần cứng hiện đại; chỉ dùng chúng cho kiểm tra hỏng hóc thông thường, không dùng để xác minh tính toàn vẹn trước kẻ tấn công. CRC32 hoàn toàn không phải băm mật mã: nó phát hiện hư hỏng ngẫu nhiên nhưng không bảo vệ khỏi sự can thiệp có chủ đích.
Nơi nhà phát hành công bố giá trị băm
- Bản phân phối Linux: SHA-256 và SHA-512 bên cạnh mỗi bản ISO, thường kèm tệp SHASUMS ký bằng PGP.
- Bản phát hành mã nguồn mở (GitHub): giá trị băm trên trang phát hành, thường qua
shasum -a 256trong README. - Phần mềm doanh nghiệp: MD5 hoặc SHA-256 trong xác nhận tải xuống; một số nhà cung cấp công bố bản kê khai ký GPG.
- Trình quản lý gói: tự động xác minh (apt, yum, Homebrew). Chỉ cần xác minh thủ công khi tải trực tiếp.
Mẹo xác minh
- Lấy giá trị băm từ một nguồn khác với nguồn tải tệp. Nếu cả hai cùng từ một máy chủ nhân bản bị xâm nhập, cả hai đều có thể bị giả mạo.
- Kiểm tra chữ ký GPG khi có sẵn. Tệp SHASUMS đã ký chứng minh nhà phát hành (bằng khóa riêng của họ) bảo đảm cho các giá trị băm.
- Kiểm tra lại giá trị sau khi truyền tải: nếu bạn chuyển tệp hoặc bí mật giữa các máy, hãy tính lại băm ở cả hai đầu để xác nhận chúng khớp.
- Cẩn thận với ký tự xuống dòng: thừa hoặc thiếu một ký tự xuống dòng ở cuối sẽ làm thay đổi hoàn toàn giá trị băm. Nếu văn bản dán khác bản gốc dù chỉ một ký tự, checksum sẽ không khớp.
Quyền riêng tư
Văn bản bạn dán được gửi đến máy chủ của chúng tôi để tính checksum và ở chế độ từng bước, văn bản được giữ trong bộ nhớ trình duyệt của bạn giữa các bước để bạn không phải dán lại. Văn bản không được lưu trong cơ sở dữ liệu và không được chia sẻ với bất kỳ ai.
Câu hỏi thường gặp
Nguyên nhân phổ biến: bạn sao chép giá trị mong đợi từ một phiên bản phát hành khác, văn bản có thêm dấu cách, tab hoặc ký tự xuống dòng (chỉ một ký tự xuống dòng ở cuối cũng đổi giá trị băm) hoặc bạn chọn thuật toán khác nhà phát hành. Hãy kiểm tra xem bạn đang so sánh đúng văn bản với đúng dòng băm hay không.
Để phát hiện hư hỏng thông thường (bản tải có hoàn tất trọn vẹn không?), có. Để xác minh nhạy cảm về bảo mật (tệp này có bị can thiệp không?), không: có thể tạo va chạm MD5 trong vài giây trên phần cứng phổ thông.
CRC32 là checksum nhanh, phi mật mã được tệp ZIP, ảnh PNG và giao thức mạng dùng để phát hiện hư hỏng ngẫu nhiên. Nó phát hiện tốt hư hại ngẫu nhiên, nhưng kẻ tấn công có thể tạo va chạm trong vài mili giây, vì vậy đừng bao giờ dựa vào nó cho bảo mật.
Công cụ này làm việc với văn bản được dán, không phải tệp. Để kiểm tra tệp đã tải, hãy tính băm trên chính thiết bị của bạn (ví dụ bằng sha256sum, Get-FileHash hoặc một công cụ đồ họa) rồi so sánh kết quả với giá trị nhà phát hành công bố.
Công cụ liên quan
Bộ mã hóa mật mã Caesar
Mã hóa và giải mã văn bản bằng mật mã Caesar. Hỗ trợ mọi độ dịch 1-25, có ROT13 như một trường hợp đặc biệt, giữ nguyên dấu câu và chữ hoa/thường.
Trình tạo bcrypt
Tạo hash bcrypt từ mật khẩu plaintext. Tùy chỉnh cost factor từ 4 đến 13, tương thích với Laravel, Django, Node và PHP.
Mã hóa / giải mã AES
Mã hóa và giải mã văn bản rủi ro thấp bằng các cipher AES của OpenSSL. Cụm mật khẩu được băm SHA-256 và đầu ra Base64 gồm IV cộng bản mã.
Bộ mã hóa và giải mã Base85
Mã hóa và giải mã Base85 theo biến thể Adobe Ascii85, biến thể dùng bên trong tệp PostScript và PDF. Gọn hơn Base64 cho dữ liệu nhị phân.
Bộ mã hóa và giải mã Base32
Mã hóa và giải mã chuỗi Base32 bằng bảng chữ cái RFC 4648. Hữu ích cho TOTP secrets, token không phân biệt hoa thường và mã định danh do người nhập.
Trình tạo hash bcrypt
Tạo hash bcrypt hoặc verify mật khẩu plaintext với hash bcrypt hiện có. Chế độ tạo và verify đặt cạnh nhau trong một công cụ.