使用命令行生成高强度密码

作者: RoseHosting 译者: GHLandy

| 2016-11-07 12:14:43   评论: 8

设置一个高强度的密码是非常重要的,这样才能够很好的保护自己的账号或者服务器以及确保自己的数据的安全。通常来说,一个高强度密码至少有 14 个字符,包括大小写字母、数字和特殊字符,并且要牢记永远不用那些字典中的单词。使用长密码比短密码要来的安全,因为密码越长越难猜测。在本文中,我将给你介绍几个不同方法,让你可以在 Linux 命令行下生成一个高强度密码。

使用 openssl 生成高强度密码

这里使用 openssl 的 rand 方法,它会生成一个 14 位字符的随机字符:

openssl rand -base64 14

使用 urandom 生成高强度密码

这里我们将使用 tr 条件来过滤 /dev/urandom 的输出,从而删掉那些不想要的字符,并打印出第一个出现的 14 位字符。

< /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo

使用 pwgen 生成高强度密码

pwgen 是一个生成随机、无特殊含义但可以正常拼读的密码。

安装 pwgen,运行:

sudo apt-get install pwgen

安装好之后,使用以下命令来生成一个 14 位随机字符:

pwgen 14 1

你也可以使用以下标记:

  • -c 或 --capitalize 生成的密码中至少包含一个大写字母
  • -A 或 --no-capitalize 生成的密码中不含大写字母
  • -n 或 --numerals 生成的密码中至少包含一个数字
  • -0 或 --no-numerals 生成的密码中不含数字
  • -y 或 --symbols 生成的密码中至少包含一个特殊字符
  • -s 或 --secure 生成一个完全随机的密码
  • -B 或 --ambiguous 生成的密码中不含 易混淆字符 ambiguous characters
  • -h 或 --help 输出帮助信息
  • -H 或 --sha1=path/to/file[#seed] 使用指定文件的 sha1 哈希值作为随机生成器
  • -C 按列输出生成的密码
  • -1 不按列输出生成的密码
  • -v 或 --no-vowels 不使用任何元音,以免意外生成让人讨厌的单词

使用 gpg 生成高强度密码

我们也可以使用 gpg 工具来生成一个 14 位字符的密码:

gpg --gen-random --armor 1 14

其它方法

当然,可能还有很多方法可以生成一个高强度密码。比方说,你可以添加以下 bash shell 方法到 ~/.bashrc 文件:

genpasswd() { 
    strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 14 | tr -d '\n'; echo
}

当你想要生成一个高强度的随机密码时,运行 genpasswd 就好了。



最新评论

来自广东深圳的 Chrome 54.0|Mac 10.11 用户  2016-11-08 08:58
一直在用第一个
linux [Chrome 54.0|Mac 10.11]  2016-11-08 08:26
6666
来自江苏南京的 Vivaldi 1.4|GNU/Linux 用户  2016-11-07 22:20
openssl rand -base64 14
这个不错,可以推荐使用vivaldi笔记功能,这样常用的密码可以记在旁边,如果你怕别人看到,可以使用密码管理器保存起来
来自广东佛山的 Firefox 49.0|Windows 7 用户  2016-11-07 16:53
可以很实用
delectate [Firefox 49.0|Windows 10]  2016-11-07 14:50
简单,抄下来,贴显示器旁。只要你的用户名不被别人知道就行。
来自四川成都的 Chrome 53.0|GNU/Linux 用户  2016-11-07 14:45
这个 user-agent 是自己改得吧?Chromium 的版本号有那么高?
kashu [Chromium 66.0|Xubuntu 14.04]  2016-11-07 12:59
所以有一种东西叫password manager,如:开源的KeePassX
拿铁不加糖 [Chrome 54.0|Windows 10]  2016-11-07 12:35
问题是我记不住哇!

友情链接
返回顶部