Chúng tôi thu thập tất cả các lệnh này từ Command-Line Fu và kiểm tra chúng trên máy tính Linux của chúng tôi để đảm bảo chúng hoạt động. Bạn sẽ có thể sử dụng ít nhất một số trong số này trên Windows với Cygwin được cài đặt, mặc dù chúng tôi đã không kiểm tra tất cả chúng - điều cuối cùng chắc chắn hoạt động.
Tạo mật khẩu ngẫu nhiên
Đối với bất kỳ lệnh mật khẩu ngẫu nhiên nào, bạn có thể sửa đổi chúng để tạo ra độ dài mật khẩu khác hoặc bạn chỉ có thể sử dụng ký tự x đầu tiên của mật khẩu được tạo nếu bạn không muốn mật khẩu dài như vậy. Hy vọng rằng bạn đang sử dụng trình quản lý mật khẩu như LastPass nên bạn không cần phải ghi nhớ chúng.
Phương pháp này sử dụng SHA để băm ngày, chạy qua base64 và sau đó xuất ra 32 ký tự đầu.
date +%s | sha256sum | base64 | head -c 32; echo
Phương thức này sử dụng tính năng / dev / urandom tích hợp và chỉ lọc ra các ký tự mà bạn thường sử dụng trong mật khẩu. Sau đó, kết quả đầu ra là 32.
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
Điều này sử dụng chức năng rand của openssl, có thể không được cài đặt trên hệ thống của bạn. Điều tốt là có rất nhiều ví dụ khác, đúng không?
openssl rand -base64 32
Cái này hoạt động rất giống với một siêu urandom khác, nhưng chỉ làm việc ngược lại. Bash rất mạnh mẽ!
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
Dưới đây là một ví dụ khác cho thấy các bộ lọc sử dụng lệnh chuỗi, kết quả này sẽ xuất ra các chuỗi có thể in từ một tệp, trong trường hợp này là tính năng của siêu nhân.
strings /dev/urandom | grep -o '[:alnum:]' | head -n 30 | tr -d '
'; echo
Đây là một phiên bản đơn giản hơn của người hâm mộ.
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
Điều này quản lý để sử dụng lệnh dd rất hữu ích.
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
Bạn thậm chí có thể tạo một mật khẩu ngẫu nhiên bên trái, cho phép bạn nhập mật khẩu bằng một tay.
Nếu bạn định sử dụng nó mọi lúc, có thể là nên đưa nó vào một chức năng. Trong trường hợp này, khi bạn chạy lệnh một lần, bạn sẽ có thể sử dụng randpw bất cứ lúc nào bạn muốn tạo một mật khẩu ngẫu nhiên. Bạn có thể muốn đặt tệp này vào tệp ~ /.bashrc của mình.
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
Bạn có thể sử dụng cú pháp tương tự này để thực hiện bất kỳ cú pháp nào trong số này thành hàm - chỉ cần thay thế mọi thứ bên trong {}
Và đây là cách dễ nhất để tạo mật khẩu từ dòng lệnh, hoạt động trong Linux, Windows với Cygwin và có lẽ là Mac OS X. Tôi chắc chắn rằng một số người sẽ phàn nàn rằng nó không ngẫu nhiên như một số tùy chọn khác, nhưng thành thật mà nói, nó đủ ngẫu nhiên nếu bạn định sử dụng toàn bộ thứ đó.
date | md5sum
Yeah, thậm chí còn đủ dễ nhớ.
Có rất nhiều cách khác để bạn có thể tạo mật khẩu ngẫu nhiên từ dòng lệnh trong Linux - ví dụ, lệnh mkpasswd, có thể gán mật khẩu cho tài khoản người dùng Linux. Vậy cách yêu thích của bạn là gì?