Trình tạo Bcrypt
Tạo và xác minh băm mật khẩu bcrypt trực tuyến. Hệ số chi phí điều chỉnh được, salt tích hợp, xem trước băm theo thời gian thực. Mọi xử lý đều chạy cục bộ trong trình duyệt của bạn.
Bcrypt là gì?
Bcrypt là hàm băm mật khẩu được thiết kế bởi Niels Provos và David Mazières, dựa trên mật mã Blowfish. Nó được thiết kế đặc biệt để lưu trữ mật khẩu an toàn và là một trong những thuật toán băm mật khẩu được sử dụng rộng rãi nhất thế giới.
Bcrypt hoạt động như thế nào?
Bcrypt nhận mật khẩu và salt làm đầu vào, sau đó chạy quá trình thiết lập khóa tốn kém (Eksblowfish) tạo ra băm có độ dài cố định. Băm bao gồm định danh thuật toán, hệ số chi phí, salt và giá trị băm thực tế.
Hệ số chi phí trong bcrypt là gì?
Hệ số chi phí là số từ 4 đến 31 xác định số lần lặp thiết lập khóa. Mỗi lần tăng gấp đôi thời gian tính toán. Chi phí 10 nghĩa là 2^10 = 1024 lần lặp. Giá trị khuyến nghị là 10-12 cho hầu hết ứng dụng.
Salt là gì và tại sao nó quan trọng?
Salt là giá trị ngẫu nhiên 128-bit duy nhất cho mỗi băm mật khẩu. Nó ngăn kẻ tấn công sử dụng bảng cầu vồng được tính toán trước và đảm bảo mật khẩu giống nhau tạo ra băm khác nhau. Bcrypt tự động tạo và nhúng salt vào đầu ra băm.
Bcrypt có còn an toàn vào năm 2025?
Có, bcrypt vẫn là một trong những thuật toán băm mật khẩu được khuyến nghị. Mặc dù có các thuật toán mới hơn như Argon2, bcrypt được coi là an toàn khi sử dụng với hệ số chi phí phù hợp (12 trở lên).
Độ dài mật khẩu tối đa cho bcrypt là bao nhiêu?
Bcrypt có độ dài đầu vào tối đa 72 byte. Mật khẩu dài hơn 72 byte bị cắt ngắn âm thầm. Đối với mật khẩu dài hơn, hãy xem xét băm trước bằng SHA-256 trước khi áp dụng bcrypt.
Bcrypt so sánh với MD5, SHA-256 và các hàm băm khác như thế nào?
Khác với MD5 và SHA-256 được thiết kế cho tốc độ, bcrypt cố ý chậm và tốn kém tính toán. Các hàm băm mục đích chung có thể tính toán hàng tỷ lần mỗi giây, khiến chúng dễ bị tấn công brute-force.
Định dạng băm bcrypt là gì?
Băm bcrypt theo định dạng: $2b$cost$salt+hash. Ví dụ: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. Tiền tố $2b$ xác định phiên bản thuật toán, theo sau là hệ số chi phí, salt 22 ký tự và băm 31 ký tự.
Sự khác biệt giữa $2a$, $2b$ và $2y$ là gì?
Đây là các định danh phiên bản bcrypt. $2a$ là phiên bản gốc, $2b$ sửa một vấn đề nhỏ xử lý độ dài mật khẩu trong OpenBSD, và $2y$ là biến thể dành riêng cho PHP.
Sử dụng trình tạo bcrypt trực tuyến có an toàn không?
Khi xử lý chạy hoàn toàn trong trình duyệt của bạn (phía client), nó hoàn toàn an toàn. Không có dữ liệu mật khẩu nào được truyền đến bất kỳ máy chủ nào. Công cụ này xử lý mọi thứ cục bộ bằng JavaScript.
Làm thế nào để chọn hệ số chi phí phù hợp?
Hệ số chi phí nên cao nhất có thể trong khi giữ tốc độ tạo băm chấp nhận được. Quy tắc tốt: chọn chi phí mà việc băm mất khoảng 250-500ms trên máy chủ của bạn.
Bcrypt có thể được sử dụng để mã hóa dữ liệu không?
Không, bcrypt là hàm băm một chiều, không phải thuật toán mã hóa. Nó không thể đảo ngược để khôi phục mật khẩu gốc. Nó được thiết kế chỉ để xác minh mật khẩu.
Tại sao bcrypt chậm theo thiết kế?
Bcrypt cố ý chậm để làm cho các cuộc tấn công brute-force và từ điển tốn kém tính toán. Trong khi hàm băm bình thường có thể xử lý hàng triệu mật khẩu mỗi giây, bcrypt chỉ xử lý vài trăm.
Làm thế nào để xác minh mật khẩu với băm bcrypt?
Để xác minh, trích xuất salt và hệ số chi phí từ băm đã lưu, chạy bcrypt với cùng tham số trên mật khẩu đầu vào và so sánh băm kết quả với băm đã lưu. Nếu khớp, mật khẩu đúng.
Cách sử dụng Trình tạo Bcrypt
Băm và xác minh mật khẩu bằng bcrypt hoàn toàn trong trình duyệt. Chọn cost factor, nhấp Generate, và chuỗi băm có salt được tính cục bộ nên bí mật của bạn không bao giờ rời khỏi thiết bị.
- Nhập thông tin cần bảo vệ vào trường Password.
- Đặt giá trị Cost Factor; mỗi bậc tăng thêm làm thời gian băm gần như gấp đôi.
- Nhấp Generate và kết quả có salt sẽ hiện trong trường Bcrypt Hash, bắt đầu bằng $2b$10$.
- Sao chép giá trị trong trường Bcrypt Hash vào cơ sở dữ liệu người dùng hoặc tệp cấu hình của bạn.
- Để kiểm tra mật khẩu sau này, dán chuỗi băm có sẵn vào trường $2b$10$..., nhập lại mật khẩu rồi nhấp Verify.
Cost factor 10 là mức mặc định hợp lý cho đăng nhập tương tác; nâng cao hơn cho bí mật ngoại tuyến nếu chấp nhận kiểm tra chậm hơn.
Công cụ liên quan
- Kiểm tra Hash Tính toán và xác minh hash MD5, SHA-1, SHA-256, SHA-512 cục bộ
- Máy tính Chmod Máy tính chmod trực tuyến miễn phí để trực quan hóa và tính toán quyền tệp Linux với hộp kiểm. Chuyển đổi ngay lập tức giữa ký hiệu số (755, 644) và tượng trưng (rwxr-xr-x). Hỗ trợ quyền đặc biệt như setuid, setgid, sticky bit.
- Bảng ASCII Tham khảo mã hóa ký tự ASCII đầy đủ với mã thập phân, thập lục phân, bát phân, nhị phân, thực thể HTML và mô tả ký tự. Tìm kiếm và lọc tức thì.
- Trình kiểm tra yêu cầu HTTP Kiểm tra API REST trực tiếp trong trình duyệt. Gửi yêu cầu GET, POST, PUT, DELETE với header, body và tham số tùy chỉnh. Xem trạng thái, header và body JSON phản hồi ngay lập tức.
- Trình tạo .htaccess Tạo quy tắc .htaccess Apache cho chuyển hướng, viết lại, tiêu đề bảo mật, bộ nhớ đệm và hơn thế nữa.
- Trình tạo Robots.txt Trình tạo robots.txt trực tuyến miễn phí. Tạo và tùy chỉnh tệp robots.txt để kiểm soát việc thu thập dữ liệu của công cụ tìm kiếm, quản lý quyền truy cập của trình thu thập và tối ưu hóa SEO cho trang web của bạn.
- Trình tạo Sitemap Trình tạo sitemap XML trực tuyến miễn phí. Thêm URL, đặt mức ưu tiên và tần suất, tạo sitemap SEO ngay lập tức.
- Crontab Guru Phân tích và giải thích biểu thức cron. Hiển thị mô tả lịch trình và thời gian thực thi tiếp theo.