Kết nối qua MCP →

Nhập phép tính

Công thức

Quảng cáo

Kết quả

Thời gian bẻ khóa ước tính (brute force)
208,83
giây
Kích thước bộ ký tự 26
Tổng số tổ hợp 208.827.064.576
Theo giờ 0,06
Theo ngày 0
Theo năm 0

Công cụ này dùng để làm gì

Công Cụ Tính Thời Gian Bẻ Khóa Mật Khẩu ước tính khoảng thời gian mà kẻ tấn công cần để bẻ khóa mật khẩu bằng phương pháp brute force — tức là thử lần lượt mọi tổ hợp có thể. Cách tính dựa hoàn toàn vào kích thước không gian khóa (keyspace) và tốc độ đoán của kẻ tấn công, giúp bạn nhanh chóng hình dung được rằng một mật khẩu dài hơn hay phức tạp hơn thực sự an toàn đến mức nào.

Cách sử dụng

Nhập độ dài mật khẩu (số ký tự), tích chọn các bộ ký tự mà mật khẩu của bạn sử dụng, và đặt số lần đoán mỗi giây của kẻ tấn công. Một dàn GPU hiện đại có thể thực hiện khoảng một tỷ (1.000.000.000) lần đoán mỗi giây với các hàm băm nhanh — đây là giá trị mặc định hợp lý. Kết quả hiển thị thời gian tệ nhất để thử hết toàn bộ không gian khóa, tính theo giây, giờ, ngày và năm.

Giải thích công thức

Tổng số mật khẩu có thể có chính là kích thước bộ ký tự lũy thừa lên theo độ dài: \(C = N^{L}\). Chia con số này cho số lần đoán mỗi giây của kẻ tấn công sẽ ra thời gian để thử hết:

$$T = \frac{N^{L}}{G}$$

Kích thước bộ ký tự \(N\) được cộng dồn lại: chữ thường (26), chữ hoa (26), chữ số (10) và ký tự đặc biệt (32), nên nếu kết hợp đầy đủ thì \(N = 94\).

Đường cong hàm mũ cho thấy thời gian bẻ khóa tăng vọt khi độ dài mật khẩu tăng
Mỗi ký tự thêm vào nhân lên số tổ hợp, nên thời gian bẻ khóa tăng theo cấp số nhân với độ dài.
Sơ đồ liên hệ kích thước tập ký tự N, độ dài mật khẩu L và tốc độ đoán G với thời gian bẻ khóa
Thời gian bẻ khóa tăng theo kích thước tập ký tự lũy thừa độ dài mật khẩu, chia cho tốc độ đoán của kẻ tấn công.

Ví dụ minh họa

Giả sử có một mật khẩu 8 ký tự chỉ gồm chữ thường (\(N = 26\), \(L = 8\)) trước kẻ tấn công đoán 1 tỷ lần/giây. Số tổ hợp =

$$26^{8} = 208\,827\,064\,576$$

Thời gian bẻ khóa =

$$\frac{208\,827\,064\,576}{1\,000\,000\,000} \approx 208{,}83 \text{ giây}$$

— chưa tới bốn phút. Nếu thêm chữ hoa, chữ số và ký tự đặc biệt (\(N = 94\)) thì cùng độ dài đó sẽ nhảy vọt lên \(94^{8} \approx 6{,}1 \times 10^{15}\) tổ hợp, tức khoảng 70 ngày.

Câu hỏi thường gặp

Kết quả này có chính xác không? Không. Đây chỉ là mức tối đa về lý thuyết cho brute force thuần túy. Kẻ tấn công thực tế còn dùng từ điển, danh sách mật khẩu bị rò rỉ và các mẫu phổ biến, nên một mật khẩu dễ đoán sẽ bị bẻ nhanh hơn rất nhiều so với ước tính này.

Tôi nên dùng tốc độ đoán nào? Điều này phụ thuộc vào hàm băm. Các hàm băm nhanh (MD5, không có salt) cho phép hàng tỷ lần mỗi giây; các hàm băm chậm (bcrypt, Argon2) chỉ cho phép vài nghìn lần. \(G\) càng thấp thì thời gian bẻ khóa càng dài.

Làm sao để tạo mật khẩu mạnh? Độ dài quan trọng hơn độ phức tạp. Mỗi ký tự thêm vào sẽ nhân không gian khóa lên \(N\) lần, nên một cụm mật khẩu (passphrase) dài sẽ khó bẻ hơn nhiều so với một mật khẩu ngắn mà phức tạp.

Cập nhật lần cuối: