Mật khẩu mạnh là gì?
Một mật khẩu mạnh phải đủ dài, đủ đa dạng ký tự và không thể đoán từ thông tin cá nhân hay từ điển phổ biến. Thực tế bảo mật hiện nay khuyến nghị độ dài từ 12–16 ký tự trở lên, kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt. Bạn nên tránh ngày sinh, tên người thân, số điện thoại, chuỗi bàn phím quen thuộc như "123456", "password" hay "qwerty" vì đây là mục tiêu đầu tiên của các cuộc tấn công thử mật khẩu hàng loạt.
Độ mạnh còn phụ thuộc vào entropy — lượng thông tin ngẫu nhiên trong chuỗi. Cùng một độ dài, mật khẩu lấy từ bộ ký tự rộng (có thêm ký hiệu) khó bị dò bằng brute-force hơn mật khẩu chỉ gồm chữ thường. Mỗi ký tự thêm vào không chỉ làm dài chuỗi mà còn nhân số khả năng kẻ tấn công phải thử. Công cụ tạo mật khẩu ngẫu nhiên mạnh trên trang này ước tính mức độ theo độ dài và các nhóm ký tự bạn bật, rồi hiển thị thanh đánh giá để bạn điều chỉnh trước khi dùng cho email, ngân hàng hay mạng xã hội.
Ngoài độ dài và đa dạng, mật khẩu tốt còn phải độc nhất: không tái sử dụng cùng một chuỗi trên nhiều dịch vụ. Khi một site bị lộ dữ liệu, kẻ tấn công thường thử mật khẩu đó trên các dịch vụ khác. Dùng trình quản lý mật khẩu giúp bạn giữ nhiều mật khẩu mạnh mà không cần nhớ từng cái.
Vì sao random an toàn quan trọng hơn "ngẫu nhiên thường"?
Không phải mọi hàm sinh số trên máy tính đều đủ an toàn cho mật khẩu. Math.random trong JavaScript phục vụ mô phỏng, hiệu ứng giao diện hoặc chọn ngẫu nhiên không nhạy cảm; nó không được thiết kế để chống đoán trước. Nếu dùng Math.random để tạo mật khẩu, trong một số ngữ cảnh kẻ tấn công có thể khai thác tính dự đoán của bộ sinh số giả ngẫu nhiên và thu hẹp không gian tìm kiếm.
Công cụ này dùng crypto.getRandomValues — API mật mã do trình duyệt cung cấp — để chọn từng ký tự và xáo trộn kết quả. Cách này phù hợp cho giá trị bảo mật: mỗi lần tạo cho chuỗi khác nhau, khó đoán, chạy hoàn toàn phía client và không cần gửi yêu cầu lên máy chủ. Bạn có thể tạo nhiều mật khẩu cùng lúc, sao chép từng cái bằng nút riêng, hoặc nhấn tạo lại khi chưa ưng ý. Mỗi mật khẩu được đảm bảo có ít nhất một ký tự từ mỗi nhóm bạn đã chọn (chữ hoa, chữ thường, số, ký tự đặc biệt), tránh trường hợp "đủ dài" nhưng thiếu một loại ký tự mà một số hệ thống yêu cầu.
Tùy chọn loại bỏ ký tự dễ nhầm (0/O, 1/l/I) hữu ích khi bạn phải đọc to, viết tay hoặc nhập thủ công. Bộ ký tự còn lại vẫn được chọn bằng random mật mã; chỉ là tập nguồn hẹp hơn một chút để giảm lỗi người dùng.
Mẹo bảo mật khi dùng mật khẩu hàng ngày
- Dùng một mật khẩu duy nhất cho mỗi tài khoản quan trọng: email chính, ngân hàng, mạng xã hội và nơi làm việc.
- Lưu mật khẩu trong trình quản lý mật khẩu thay vì ghi chú công khai, file không mã hóa hay tin nhắn chat.
- Bật xác thực hai lớp (2FA) khi dịch vụ hỗ trợ. Mật khẩu mạnh vẫn nên kèm lớp bảo vệ thứ hai bằng ứng dụng xác thực hoặc khóa bảo mật.
- Với mật khẩu cần nhập tay, hãy bật tùy chọn bỏ ký tự dễ nhầm để tránh nhầm 0 với O hoặc 1 với l/I.
- Đổi mật khẩu ngay nếu nhận cảnh báo rò rỉ hoặc nghi ngờ thiết bị bị xâm nhập; đừng tái sử dụng mật khẩu cũ trên site mới.
- Không chia sẻ mật khẩu qua email hoặc tin nhắn thường. Nếu bắt buộc phải gửi, dùng kênh mã hóa hoặc tính năng chia sẻ an toàn của password manager.
- Định kỳ rà soát tài khoản cũ: vô hiệu hóa dịch vụ không còn dùng và thu hồi phiên đăng nhập lạ.
Lưu ý quan trọng: trang web không lưu mật khẩu của bạn
Toàn bộ quá trình tạo mật khẩu chạy trên trình duyệt của bạn. Không có API ngoài trong giai đoạn lõi, không có bước gửi chuỗi mật khẩu lên máy chủ của chúng tôi để "lưu hộ". Dù vậy, bạn vẫn nên sao chép mật khẩu vào nơi lưu trữ riêng đáng tin và không dán mật khẩu quan trọng vào các trang lạ hoặc form không rõ nguồn gốc.
Sau khi đóng tab, nội dung trên trang không được giữ lại như một kho lưu trữ dài hạn. Hãy coi công cụ này là máy tạo tức thì: tạo, đánh giá độ mạnh, sao chép, rồi cất vào trình quản lý mật khẩu. Nếu bạn tạo mật khẩu trên máy dùng chung, hãy xóa clipboard sau khi dán xong và không để màn hình hiển thị mật khẩu khi người khác đứng gần.
Tóm lại: mật khẩu mạnh nghĩa là đủ dài, đủ đa dạng, thực sự ngẫu nhiên và không tái sử dụng. Kết hợp với 2FA cùng thói quen lưu trữ đúng chỗ, bạn giảm đáng kể rủi ro bị chiếm tài khoản mà vẫn thao tác nhanh ngay trên trình duyệt.
Phân biệt mật khẩu, mã định danh và mã băm
Ba thứ này đều là chuỗi ký tự ngẫu nhiên nhìn na ná nhau nhưng phục vụ mục đích khác hẳn.
Mật khẩu dùng để xác thực con người và phải giữ bí mật. UUID là mã định danh dùng để phân biệt bản ghi, không cần bí mật và không dùng làm mật khẩu — bạn tạo nó ở công cụ UUID và mã băm. Mã băm là kết quả một chiều từ dữ liệu đầu vào, dùng để kiểm tra tính toàn vẹn chứ không phải để đăng nhập; với cả một tệp thì dùng công cụ tính mã băm file.
Một nhầm lẫn nguy hiểm khác: Base64 và mã hóa URL chỉ là cách biểu diễn ký tự, ai cũng đảo ngược được, nên tuyệt đối không dùng chúng để "giấu" mật khẩu trong đường dẫn hay tệp cấu hình.