Băm SHA1
Máy tính băm SHA1 trực tuyến, nhập văn bản nhận ngay kết quả thập lục phân 40 ký tự. Hỗ trợ tính SHA1 cho văn bản và tệp, xử lý cục bộ trong trình duyệt không rò rỉ dữ liệu.
Đề xuất Liên quan
SHA1 là gì?
SHA1 (Secure Hash Algorithm 1) là hàm băm mật mã do Cơ quan An ninh Quốc gia Hoa Kỳ (NSA) thiết kế và NIST công bố năm 1995. Hàm này nhận đầu vào độ dài bất kỳ và tạo ra đầu ra 160 bit (40 ký tự thập lục phân).
**Ứng dụng điển hình:** ①Vân tay commit Git/SVN; ②Kiểm tra toàn vẹn tệp (tương thích lịch sử); ③Băm phân phối phần mềm (đã được SHA-256 thay thế); ④Bắt tay TLS 1.0/1.1 (đã loại bỏ).
**Trạng thái bảo mật:** Năm 2017, Google và CWI Amsterdam công bố tấn công va chạm SHA-1 thực tế đầu tiên (SHAttered), nghĩa là SHA-1 không còn kháng va chạm. Trong các tình huống quan trọng, hãy sử dụng SHA-256 trở lên; các tình huống không liên quan đến bảo mật (lịch sử Git, vân tay tệp) có thể tiếp tục sử dụng.
**So sánh với MD5:** SHA1 an toàn hơn MD5 (đầu ra dài hơn), nhưng cả hai đều không kháng va chạm; MD5 vẫn dùng được cho vân tay tệp/loại bỏ trùng lặp, SHA1 được giữ lại trong lịch sử Git. Cả hai không nên tiếp tục sử dụng cho các tình huống bảo mật mới.
Trường hợp sử dụng
- Tra cứu băm Git commit
- Vân tay phiên bản mã SVN
- Kiểm tra SHA1 hệ thống cũ (tránh nâng cấp di chuyển)
- Trình diễn băm mật mã trong giảng dạy/học thuật
- Kiểm tra băm phần mềm cũ (đã phát hành MD5/SHA1)
- Kiểm tra tính nhất quán SHA1 phía client/đầu cuối dịch vụ
Cách Sử dụng
- Nhập hoặc dán nội dung cần tính vào ô văn bản
- Công cụ tự động tính SHA1 và hiển thị kết quả thập lục phân 40 ký tự
- Tùy chọn: Kéo thả tệp để tính SHA1 tệp
- Nhấp nút sao chép để lấy giá trị băm
Tính năng
- SHA1 văn bản: Tính toán thời gian thực (mili giây)
- SHA1 tệp: Tính theo phân đoạn hỗ trợ tệp lớn
- Xử lý cục bộ trình duyệt: Nội dung không tải lên máy chủ
- Sao chép một cú nhấp: Sao chép giá trị băm vào bảng tạm
- Hỗ trợ ký tự có dấu, emoji và đa ngôn ngữ
- Có thể so sánh hai giá trị băm SHA1 (không phân biệt chữ hoa/thường)
Câu hỏi Thường gặp
SHA1 có an toàn không? Còn sử dụng được không?
Các tình huống nhạy cảm về bảo mật hãy dùng SHA-256/SHA-512 trở lên. SHA-1 đã bị Google công bố tấn công va chạm năm 2017 (SHAttered). Tuy nhiên: ①Tương thích lịch sử Git; ②Kiểm tra phần mềm cũ; ③Vân tay tệp không nhạy cảm — những tình huống này có thể tiếp tục sử dụng.
Độ dài đầu ra SHA1 là bao nhiêu?
SHA1 xuất ra 160 bit, hiển thị dưới dạng thập lục phân gồm 40 ký tự (mỗi 4 bit tương ứng 1 ký tự hex). Ví dụ: a1b2c3d4e5f6... tổng cộng 40 ký tự.
SHA1 và MD5 cái nào tốt hơn?
Cả hai đều không phù hợp cho tình huống bảo mật mới. SHA1 có độ bảo mật tốt hơn một chút so với MD5 (đầu ra dài hơn). Nhưng thực tế: ①Vân tay tệp/loại bỏ trùng lặp dùng MD5 (nhanh hơn); ②Tương thích Git dùng SHA1; ③Tình huống bảo mật dùng SHA256+.
SHA1 có phân biệt chữ hoa/thường không?
Có. Văn bản gốc và văn bản viết hoa hoàn toàn có SHA1 hoàn toàn khác nhau. Nhưng chuỗi giá trị băm có thể hiển thị hoa hoặc thường (Linux quen dùng chữ thường, Windows quen dùng chữ hoa), khi so sánh chỉ cần so sánh ký tự và bỏ qua phân biệt hoa thường.
Có thể tính SHA1 của tệp không?
Được. Nhấp nút「Tải tệp lên」hoặc kéo thả tệp vào trang, công cụ sẽ tính SHA1 tệp theo phân đoạn, phù hợp tệp lớn không bị treo.
SHA1 có phải thuật toán mã hóa không?
Không phải. SHA1 là hàm băm một chiều, về mặt lý thuyết không thể suy ngược văn bản gốc từ giá trị băm.「Mã hóa SHA1」là cách nói không chính thức phổ biến. Công cụ này không phải công cụ mã hóa, chỉ đơn thuần là tính toán băm.
Tại sao Git vẫn sử dụng SHA1?
Mặc dù bản thân SHA1 không còn kháng va chạm, nhưng cấu trúc kháng va chạm SHA1 mà Git sử dụng được Linus Torvalds thiết kế đặc biệt — ngay cả khi có thể tạo va chạm gốc, cũng không thể tạo va chạm Git commit có cùng tiền tố. Vì vậy Git hiện tại vẫn an toàn.
Nội dung tải lên có được gửi lên máy chủ không?
Công cụ này dựa trên Web Crypto API tính toán trong trình duyệt, nội dung không tải lên máy chủ. Xử lý cục bộ bảo vệ quyền riêng tư, phù hợp tình huống nhạy cảm.
Xử lý sự cố
Kết quả SHA1 không nhất quán với hiển thị trong công cụ khác
Vui lòng kiểm tra: 1) Đã nhập cùng một văn bản hoàn toàn chưa (bao gồm khoảng trắng, xuống dòng, ký tự không nhìn thấy); 2) Văn bản gốc có bị tự động cắt khoảng trắng không (đề xuất bật tùy chọn「Bao gồm xuống dòng」); 3) Phương thức mã hóa có nhất quán không (UTF-8/GBK, v.v.).
Độ dài đầu ra SHA1 không phải 40 ký tự?
Đầu ra SHA1 luôn là 160 bit = 40 ký tự thập lục phân. Nếu đầu ra dài hơn/ngắn hơn, có thể đang hiển thị ở mã hóa Base64. Vui lòng xác nhận công cụ sử dụng hiển thị thập lục phân chứ không phải mã hóa khác.
Thuật ngữ
- SHA1
- Hàm băm mật mã 160 bit, được NIST chuẩn hóa trong FIPS 180-1. Không còn kháng va chạm, nhưng vẫn là lựa chọn phổ biến cho lịch sử Git và kiểm tra tệp.
- Băm (Hash)
- Hàm toán học ánh xạ đầu vào độ dài bất kỳ thành đầu ra độ dài cố định. SHA1 của công cụ này xuất ra 40 ký tự thập lục phân.
- Va chạm (Collision)
- Hai đầu vào khác nhau tạo ra cùng một giá trị băm. Năm 2017 Google công bố tấn công SHAttered chứng minh SHA1 có thể tạo va chạm.
- FIPS
- Federal Information Processing Standards, tiêu chuẩn xử lý thông tin do NIST Hoa Kỳ ban hành. FIPS 180-1 là tiêu chuẩn của SHA1.
- Mã hóa Hex
- Giá trị băm thường hiển thị dưới dạng thập lục phân, mỗi 4 bit nhị phân tương ứng 1 ký tự thập lục phân. Đầu ra SHA1 160 bit nhị phân → 40 ký tự thập lục phân.
- Git commit hash
- Git sử dụng SHA1 để xác định mỗi commit. Mặc dù bản thân thuật toán đã bị phá vỡ, Git vẫn dùng SHA1 vì Linus Torvalds đã thiết kế cấu trúc kháng va chạm riêng.
So sánh SHA1 với các thuật toán băm khác
So sánh sự khác biệt giữa SHA1 và họ MD5/SHA-2.
| Thuật toán | Đầu ra | Công bố | Bảo mật |
|---|---|---|---|
MD5 | 128 bit / 32 ký tự | 1992 | Yếu (phá 2004) |
SHA-1 | 160 bit / 40 ký tự | 1995 | Yếu (phá 2017) |
SHA-256 | 256 bit / 64 ký tự | 2001 | Mạnh (khuyến nghị) |
SHA-512 | 512 bit / 128 ký tự | 2001 | Rất mạnh |
Ảnh hưởng độ dài đầu vào đến tốc độ SHA1
Tốc độ xử lý SHA1 tỷ lệ thuận với lượng dữ liệu đầu vào.
| Kích thước đầu vào | Thời gian xử lý cục bộ | Điển hình |
|---|---|---|
10 ký tự | < 1 ms | Chuỗi ngắn |
1 KB | < 1 ms | Tài liệu văn bản ngắn |
100 KB | 1-2 ms | Tài liệu trung bình |
10 MB | 30-60 ms | Tệp PDF |
100 MB | 300-600 ms | Tệp video |
1 GB | 3-6 s | Tệp lớn |
5 tình huống điển hình của SHA1
Bao gồm phát triển, kiểm soát phiên bản, tuân thủ, bảo mật.
| Tình huống sử dụng | Mức độ rủi ro | Giá trị cốt lõi |
|---|---|---|
| Băm Git commit | Thấp (Git có bảo vệ kháng va chạm) | Tương thích lịch sử |
| Kiểm tra SHA1 phần mềm cũ | Trung bình | Tương thích hệ thống cũ |
| Trình diễn giảng dạy | Không | Hiểu nguyên lý băm |
| Băm mật khẩu | Cao (không nên sử dụng) | Nên chuyển sang bcrypt/Argon2 |
| Chữ ký API | Cao (không nên sử dụng) | Nên chuyển sang SHA256/HMAC-SHA256 |
Authoritative References
- NISTNIST FIPS 180-1 - Tiêu chuẩn SHA1
- Google / CWISHAttered - Va chạm SHA1 đầu tiên
- MDNMDN - SubtleCrypto.digest
- WikipediaWikipedia - SHA-1
- So sánh chuỗi bảo mật
- Chuyển Đổi Nhị Phân
- Mật Mã Caesar
- Mã Morse
- Chuyển Đổi Hex
- Video sang Base64
- Base64 Sang Video
- Ảnh sang Base64
- Base64 sang ảnh
- Văn bản sang Base64
- Base64 Sang Văn Bản
- Trình kiểm tra hash tệp
- Tệp Sang Base64
- Base64 Sang Tệp
- Chuyển đổi Âm thanh sang Base64
- Base64 sang Âm thanh
- Mã hóa và giải mã AES
- Mã Hóa Giải Mã DES
- Bộ Mã Hóa Giải Mã Base32
- Base58 mã hóa và giải mã
- Mã hóa Base64
- Giải mã Base64
- So sánh Base64
- Chia Base64
- Base64 gộp nhiều dòng
- Định dạng Base64
- Kiểm Tra Định Dạng Base64
- Mã hóa Base64 hàng loạt
- Giải mã Base64 Hàng loạt
- Dọn dẹp Base64
- Xử lý padding Base64
- Thống Kê Độ Dài Base64
- Base64 Sang Hex
- Chuyển đổi Base64 DataURL
- Công cụ chuyển đổi Base64-Hex
- Bộ Mã Hóa Base85
- Tạo & Xác minh HMAC
- PBKDF2 Phái sinh khóa
- Băm MD5
- Hash SHA-256
- Băm SHA1
- Băm SHA512
- Công cụ JWT
- Mã hóa và giải mã HTML
- Escape Unicode
- Mã hóa URL
- URL Safe Base64
- MIME Base64
- Làm rối Java
- Làm rối JS
- Làm rối PHP
- Làm rối Python