Tạo mã băm (MD5, SHA)
Tạo mã băm MD5, SHA-1, SHA-256, SHA-384 và SHA-512 từ bất kỳ văn bản nào chỉ với một cú bấm. Hữu ích cho checksum, khoá cache, loại bỏ trùng lặp và kiểm tra
Tạo mã băm từ một chuỗi văn bản hoặc một tệp: MD5, SHA-1, SHA-256, SHA-384 và SHA-512. Mã băm được dùng để xác minh một bản tải về còn nguyên vẹn, so sánh hai tệp mà không cần mở chúng, và lưu dấu vết của một giá trị mà không giữ lại chính giá trị đó.
MD5 và SHA-1 nhanh nhưng không còn được coi là an toàn trước các va chạm có chủ đích - hãy dùng chúng để kiểm tra tính toàn vẹn, không dùng cho bảo mật. Với bất cứ việc gì liên quan đến bảo mật, hãy chọn SHA-256 hoặc mạnh hơn. Việc băm chạy cục bộ, nên bạn có thể kiểm tra một mật khẩu hay khoá API mà không gửi nó đi đâu cả.
Cách tạo mã băm MD5, SHA-1 hoặc SHA-256
Nhập văn bản hoặc chọn một tệp
Chọn thuật toán băm
Sao chép chuỗi băm thập lục phân
Câu hỏi thường gặp
Tôi nên chọn thuật toán nào?
SHA-256 cho mọi việc liên quan đến bảo mật, còn MD5 hoặc SHA-1 chỉ dùng cho kiểm tra toàn vẹn nhanh và những hệ thống cũ bắt buộc phải dùng chúng.
Cùng một đầu vào có luôn cho cùng một mã băm không?
Có, đó chính là mục đích của hàm băm. Chỉ một ký tự thay đổi cũng tạo ra một chuỗi băm hoàn toàn khác.
Tôi có thể băm một tệp không?
Có, hãy chọn một tệp và các byte của nó được băm trực tiếp - cách chuẩn để đối chiếu một bản tải về với checksum đã công bố.
Tôi có thể đảo ngược mã băm không?
Không. Hàm băm vốn được thiết kế một chiều; cách tấn công thực tế duy nhất là đoán đầu vào rồi so sánh, đó là lý do mật khẩu ngắn cần một thuật toán chậm và một chuỗi salt.
Công cụ này có phù hợp để lưu mật khẩu không?
Không, nếu giữ nguyên như vậy. Việc lưu mật khẩu cần một thuật toán cố tình chậm như bcrypt, scrypt hoặc Argon2 kèm salt riêng cho từng người dùng. Để tạo mật khẩu, hãy dùng công cụ tạo mật khẩu.
Đầu vào của tôi có bị tải lên không?
Không, chuỗi băm được tính trong trình duyệt của bạn.
Tổng quan nhanh
| Đầu vào | văn bản |
|---|---|
| Nhiều tệp cùng lúc | Không |
| Chạy ở đâu | Ngay trong trình duyệt - tệp không bao giờ bị tải lên |
| Dùng được ngoại tuyến | Có — sau khi trang đã tải xong |
| Giá | Miễn phí, không đăng ký, không hình mờ |
Xử lý thông tin bí mật một cách an toàn
Các công cụ dành cho lập trình viên xử lý thông tin đăng nhập thường xuyên hơn người ta tưởng, và rủi ro không nằm ở thuật toán mà ở chỗ dữ liệu đi tới. Băm là một chiều và không phải mã hoá - MD5 và SHA-1 đã bị phá với mọi mục đích liên quan đến bảo mật, và ngay cả SHA-256 cũng là công cụ sai để lưu mật khẩu, nơi bcrypt, scrypt hay Argon2 tồn tại chính là để chạy chậm. Base64 là một cách mã hoá, không phải bảo vệ: ai cũng giải mã được, nên đừng bao giờ coi nó là cách che giấu. Một JWT có thể bị bất kỳ ai giữ nó đọc được, vì thế phần payload không bao giờ được chứa bí mật, và việc giải mã một token không xác minh chữ ký của nó - muốn xác minh phải có khoá. Mọi thứ trên site này chạy cục bộ trong trình duyệt của bạn, và đó là lý do nó có thể xử lý token cùng mật khẩu một cách an toàn.
Những chỗ việc chuyển đổi âm thầm hỏng
Phần lớn lỗi chuyển đổi không nằm ở cú pháp mà ở ý nghĩa. Một cột mã bưu chính trong CSV mất các số 0 đứng đầu ngay khi bảng tính đoán rằng đó là số; một ID dài vượt quá độ chính xác của số dấu phẩy động; ngày tháng đổi nghĩa tuỳ theo nó được viết theo kiểu ngày trước hay tháng trước. Các khoá JSON không có thứ tự nhưng mảng thì có, và một công cụ sắp xếp khoá thì không đổi gì, còn công cụ sắp xếp mảng thì đổi dữ liệu. Unicode là một cái bẫy khác: văn bản có thể đến dưới dạng UTF-8, UTF-16 hoặc kèm dấu thứ tự byte, và một bộ giải mã đoán sai sẽ biến các ký tự có dấu thành chữ hỏng. Trước khi tin vào bất kỳ phép chuyển đổi nào, hãy kiểm tra nhanh hàng đầu và hàng cuối, mọi trường có số 0 đứng đầu, và mọi trường chứa dấu ngoặc kép, dấu phẩy hay ký tự xuống dòng.