Trình tạo mật khẩu mạnh

Tạo mật khẩu mạnh và hoàn toàn ngẫu nhiên ngay trên trình duyệt của bạn — có toàn quyền kiểm soát các loại ký tự và chúng không bao giờ rời khỏi thiết bị.

Nhấn Tạo để quay số
Tùy chọn nâng cao
Chỉnh sửa các dòng phía trên để sử dụng ký tự tùy chỉnh. Mỗi dòng được coi là một loại ký tự riêng biệt.

Một mật khẩu mạnh và độc nhất là cách phòng thủ rẻ nhất mà mọi tài khoản trực tuyến đều cần có — và thời điểm bạn cần đến nó thường là lúc bạn đang vội: một tài khoản đăng nhập công việc mới, ứng dụng ngân hàng yêu cầu bạn đổi mật khẩu, thiết lập một bộ định tuyến Wi-Fi mới, hoặc khi bạn quyết định chuyển sang sử dụng một trình quản lý mật khẩu (password manager). Trình tạo mật khẩu mạnh và miễn phí này sẽ tạo ra một mật khẩu hoàn toàn ngẫu nhiên chỉ với một cú nhấp chuột. Chỉ cần đặt “Độ dài” mà bạn cần, chọn các loại ký tự bao gồm — chữ hoa và chữ thường, chữ số, ký hiệu cơ bản (%$#@!?&), và ký hiệu phức tạp (.,;[]()^-_=+{}:<>|) — sau đó nhấn “Tạo”.

Vì vấn đề bảo mật là mục đích cốt lõi, trình tạo này được xây dựng trên nền tảng của Web Crypto API (crypto.getRandomValues). Hàm này lấy các giá trị ngẫu nhiên từ hệ thống bảo mật bằng mật mã hóa, tương tự như loại ngẫu nhiên mà giao thức TLS hay các tính năng bảo mật cấp cao khác tin dùng. Khác với các trình tạo dựa trên Math.random() hoặc những hàm tạo số ngẫu nhiên giả định dễ đoán khác, hệ thống này được thiết kế sao cho dù tin tặc có nhìn thấy một kết quả, chúng cũng không thể suy đoán được kết quả tiếp theo. Toàn bộ quá trình khởi tạo diễn ra hoàn toàn trên thiết bị của bạn: mật khẩu không bao giờ được gửi tới máy chủ, không bao giờ được ghi log, và chúng tôi hoàn toàn không thể thấy được — do đó không có gì để bị chặn hay lưu trữ.

Các tùy chọn giúp bạn dễ dàng đáp ứng chính sách mật khẩu của bất kỳ trang web nào. Mỗi mật khẩu được đảm bảo chứa ít nhất một ký tự từ mỗi loại bạn đã chọn — do vậy yêu cầu “phải có ít nhất một chữ viết hoa và một số” được thỏa mãn một cách tự động — và tùy chọn “Đảm bảo số lượng ký tự của mỗi loại gần bằng nhau” được bật sẵn mặc định, giúp không có loại ký tự nào chiếm số lượng lấn át các loại còn lại. Bạn có thể bật tính năng ký hiệu để tối đa hóa sức mạnh mật khẩu, hoặc tắt đi khi sử dụng các hệ thống cũ không hỗ trợ. Công tắc “Không có ký tự dễ nhầm lẫn” sẽ loại bỏ các ký tự mà mọi người thường xuyên đọc nhầm (Il1O0o), và tính năng “Loại trừ các ký tự giống nhau giữa các bảng chữ cái khác nhau” còn cẩn thận hơn khi gạt bỏ các chữ cái có vẻ ngoài y hệt nhau giữa hệ thống chữ Latinh và chữ Cyrillic.

Bạn cần nhiều hơn một mật khẩu, hoặc có chính sách cấu hình bất thường? Hãy điều chỉnh “Số lượng mục chọn” để tạo nguyên cả một danh sách cùng lúc — lên đến 100 mật khẩu, chẳng hạn như khi bạn tạo tài khoản cho cả một nhóm — và khi số lượng vượt quá 1, chức năng “Định dạng kết quả” sẽ quyết định cách phân tách chúng: “Dòng mới”, “Phân cách bằng khoảng trắng” hoặc “Phân cách bằng dấu phẩy”. Mọi thứ khác đều nằm trong mục “Tùy chọn nâng cao”. Tắt công tắc “Loại trừ ký tự trùng lặp trong một mật khẩu” để cho phép một ký tự có thể xuất hiện lặp lại. Đặc biệt, nếu ngôn ngữ của bạn có bảng chữ cái riêng hay các chữ cái phụ, trình tạo này hỗ trợ đến 35 ngôn ngữ. Đối với tiếng Việt, bạn có thể dễ dàng bổ sung các ký tự như ă, â, đ, ê, ô, ơ, ư bằng cách bật “Chữ hoa của bảng chữ cái địa phương” và “Chữ thường của bảng chữ cái địa phương” để hòa trộn chúng vào kết quả. Hơn thế nữa, để kiểm soát hoàn toàn mọi thứ, phần “Tập hợp ký tự (mỗi dòng một tập hợp)” cho phép bạn tự chỉ định các nhóm ký tự của mình: mỗi dòng sẽ trở thành một loại ký tự độc lập mà trình tạo sẽ lấy mẫu để sử dụng.

Tại sao nên chọn trình tạo mật khẩu này?

Sự ngẫu nhiên được tạo ra như thế nào? Hệ điều hành của bạn không ngừng thu thập entropy — những tín hiệu nhiễu ngẫu nhiên khó dự đoán từ các sự kiện phần cứng — và nạp vào một máy tạo số ngẫu nhiên an toàn chuẩn mã hóa. Khi bạn nhấn 'Tạo', mã JavaScript trên trang sẽ yêu cầu các giá trị ngẫu nhiên từ trình duyệt qua crypto.getRandomValues, phân bổ chúng vào các loại ký tự bạn đã chọn, tiến hành kiểm tra đảm bảo mọi loại ký tự đều được biểu diễn đủ, và sau đó lắp ráp lại thành một mật khẩu hoàn chỉnh. Hoàn toàn không có hạt giống ngẫu nhiên (seed) nào để đoán, không có bất kỳ thuật toán tắt nào để các phần cứng dò mật khẩu chuyên dụng có thể lợi dụng mô phỏng lại, và hoàn toàn không có sự tham gia của mạng internet trong bất cứ bước nào — toàn bộ chu trình chỉ diễn ra trong phạm vi thiết bị của bạn.

Phía dưới kết quả, bạn sẽ nhìn thấy ước tính lượng entropy dưới dạng bit — một thước đo để xác định sức mạnh của mật khẩu: đạt khoảng 60+ bit là tương đối ổn thỏa với tài khoản dùng hàng ngày, 80+ bit là mạnh mẽ, và 100+ bit vượt xa tầm với thực tế của những kỹ thuật tấn công dò mật khẩu (brute force) bằng các hệ thống phần cứng tối tân hiện nay. Có hai thói quen chiếm ưu thế hơn tất thảy. Thứ nhất, độ dài áp đảo độ phức tạp: hãy sử dụng từ 16 ký tự trở lên cho những gì thật sự quan trọng — mỗi ký tự bổ sung vào sẽ nhân khối lượng công việc của hacker lên gấp nhiều lần so với việc đưa thêm một loại biểu tượng mới. Thứ hai, sự độc nhất: một khi trang web nào đó bị rò rỉ dữ liệu (data breach), những thông tin đăng nhập bị lộ sẽ được đem đi thử nghiệm ngay trên vô số các dịch vụ khác — một thủ đoạn được gọi là nhồi thông tin xác thực (credential stuffing) — vậy nên việc dùng chung một mật khẩu có nguy cơ kéo theo sự mất quyền kiểm soát toàn bộ tài khoản chỉ từ một sự cố rò rỉ đơn lẻ. Hãy xây dựng những mật khẩu riêng biệt cho từng tài khoản một, đưa chúng vào trình quản lý mật khẩu, và luôn kích hoạt xác thực hai yếu tố (2FA) bất kỳ khi nào tính năng đó khả dụng. Các nguyên tắc này cũng rất phù hợp với hướng dẫn từ Trung tâm Giám sát an toàn không gian mạng quốc gia (NCSC). Cuối cùng, cũng đừng cảm thấy lạ lùng nếu một mật khẩu ngẫu nhiên thứ thiệt đôi khi có vài ký tự đứng lặp lại hay xuất hiện vài đoạn chữ trông dễ đọc — tính ngẫu nhiên tự nhiên luôn tạo ra các chuỗi vô tình kiểu như vậy, và chúng thực chất không hề khiến mật khẩu của bạn yếu đi một chút nào.

FAQ

Việc tạo mật khẩu trực tuyến có an toàn không?

Nếu sử dụng công cụ này, thì có. Mật khẩu được khởi tạo hoàn toàn trong nội bộ trình duyệt nhờ Web Crypto API và hoàn toàn không bị chuyển tiếp đi bất cứ đâu: không có một yêu cầu máy chủ nào được khởi phát trong quá trình tạo mã, do vậy không tồn tại thông tin để chúng tôi — hay bất kỳ ai can thiệp giữa chừng — có thể đánh cắp hay lưu trữ.

Mật khẩu của tôi nên dài bao nhiêu?

Nên sử dụng ít nhất 12 ký tự; mức 16 ký tự trở lên thường được khuyên dùng cho các dịch vụ quan trọng. Độ dài có giá trị hơn độ phức tạp: cứ mỗi một ký tự dài thêm, bạn sẽ nhân số lượng các tổ hợp lên gấp nhiều lần mà kẻ tấn công phải vất vả kiểm tra.

Một mật khẩu ngẫu nhiên liệu có thật sự tốt hơn cái do chính tôi nghĩ ra?

Đúng vậy. Các mật khẩu do con người tạo ra mang những thói quen dễ dàng dự đoán trước — các từ có trong từ điển, tên riêng, ngày tháng năm sinh, những kiểu gõ lướt phím như qwerty123 — và đó chính xác là các mẫu quy luật mà những bộ công cụ bẻ khóa luôn thử trước tiên. Một mật khẩu phát sinh ngẫu nhiên hoàn toàn không có các cấu trúc như vậy, đẩy tin tặc vào tình cảnh chỉ còn nước tung đòn tấn công dò mật khẩu (brute force), điều gần như là bất khả thi đối với độ dài 16 ký tự ngẫu nhiên.

Các bit entropy phía dưới kết quả mang ý nghĩa gì?

Entropy tính toán lượng thông tin nhằm ước lượng mức độ khó đoán của mật khẩu. Về cơ bản: 60+ bit là hợp lý cho tài khoản hàng ngày, mức 80+ bit là mạnh, và 100+ bit nằm ngoài tầm khả năng phá khóa thực tế với dàn phần cứng của thời điểm hiện tại.

Tính năng “Không có ký tự dễ nhầm lẫn” có tác dụng gì?

Tính năng này sẽ gạt bỏ đi những chữ cái và con số cực kỳ dễ gây nhầm lẫn bằng mắt thường — chữ I hoa, chữ l thường, số 1, chữ O hoa, số 0 và chữ o thường. Bạn nên bật tùy chọn này trong trường hợp cần phải đọc thành tiếng, in lên giấy, hoặc phải nhìn giấy để gõ lại mật khẩu đó.

Tôi có thể tự định nghĩa toàn bộ mật khẩu tùy chỉnh bằng các ký tự của riêng tôi không?

Có. Hãy mở “Tùy chọn nâng cao” và tận dụng phần “Tập hợp ký tự (mỗi dòng một tập hợp)” nhằm tự mình định nghĩa các tập hợp riêng. Cứ mỗi dòng sẽ quy định một loại ký tự tách biệt, như vậy bạn có thể yêu cầu những ký tự chỉ định từ mỗi dòng phải có mặt — vô cùng hoàn hảo nhằm tuân thủ những yêu cầu cực kỳ khác biệt từ các website.

Tôi có thể bao gồm các chữ cái từ bảng chữ cái của nước tôi không?

Hoàn toàn có thể, áp dụng cho 35 ngôn ngữ. Nếu hệ chữ viết của bạn sử dụng các mẫu tự phi Latinh — như chữ Cyrillic, chữ cái Hy Lạp hay chữ Armenia — hoặc các chữ cái Latinh với dấu phụ như trong tiếng Việt (ă, â, đ, ê, ô, ơ, ư), tiếng Ba Lan, Đan Mạch hay Thổ Nhĩ Kỳ — chỉ cần bật “Chữ hoa của bảng chữ cái địa phương” và “Chữ thường của bảng chữ cái địa phương” trong mục “Tùy chọn nâng cao”. Đừng quên kết hợp với “Loại trừ các ký tự giống nhau giữa các bảng chữ cái khác nhau” để lọc đi những ký tự mang vẻ ngoài y đúc nhau giữa các bộ chữ cái.

Tại sao mỗi mật khẩu lúc nào cũng tự động chứa một chữ số và một chữ cái in hoa?

Trình tạo này bảo đảm phân bổ tối thiểu một ký tự từ mỗi loại mà bạn chọn, vì thế kết quả sinh ra lúc nào cũng tự khắc thỏa mãn những nội quy quen thuộc của các trang mạng kiểu như “bắt buộc chứa một chữ in hoa và một chữ số”. Hãy bỏ đánh dấu vào nhóm ký tự tương ứng để loại trừ nó hoàn toàn.

Tôi có nên dùng cụm mật khẩu (passphrase) thay cho mật khẩu thông thường không?

Các cụm mật khẩu — tức là chuỗi nhiều từ ngẫu nhiên nối lại, như theo kỹ thuật diceware — thể hiện sự tiện dụng tuyệt vời vào lúc bạn bắt buộc phải học thuộc lòng hay gõ tay một dãy bí mật, điển hình như mật khẩu chủ của trình quản lý mật khẩu của bạn. Còn đối với tất cả mọi thứ được cất giữ bên trong trình quản lý, một chuỗi mật khẩu ngẫu nhiên đạt từ 16+ ký tự trở lên sở hữu sức mạnh ít nhất là ngang ngửa. Lời khuyên là hãy sử dụng song song cả hai: một cụm mật khẩu đủ cứng cáp dành cho trình quản lý, và các mật khẩu ngẫu nhiên dành riêng cho mọi thứ khác.

Bao lâu thì tôi nên đổi mật khẩu của mình?

Những chỉ dẫn an toàn bảo mật ở thời đại nay không còn tán thành việc thay mật khẩu định kỳ theo lịch nữa — việc ép buộc thay đổi liên tục chỉ kéo theo tình trạng người dùng cố tình tạo ra những biến thể yếu và dễ bắt bài. Bạn chỉ nên thay mới một khi có lý do chính đáng để làm thế: nhận thông báo rò rỉ dữ liệu từ máy chủ, khi nghi ngờ bị lừa đảo (phishing), hay khi tài khoản được dùng chung với người khác. Điều mấu chốt là mỗi một tài khoản đều xứng đáng có riêng một mật khẩu vừa ngẫu nhiên vừa thật dài.

Các bạn có xem lén hay lưu lại các mật khẩu do tôi tạo ra không?

Không. Quy trình khởi tạo vận hành trên thiết bị của bạn và chuỗi kết quả không bao giờ tự ý thoát ra ngoài trình duyệt. Kể cả xét về mặt kỹ thuật đi chăng nữa, chúng tôi vốn dĩ không có khả năng quan sát, ghi nhớ, hay lưu trữ các mật khẩu của bạn.