zoukankan      html  css  js  c++  java
  • 3 种生成高强度密码的方法

    现在信息泄露越来越严重,而强大的密码是防止个人敏感信息泄露的第一步。良许曾经分享过一篇文章,如何判断你的密码是否足够安全,点击以下链接查看:

    信息泄漏时代,如何让自己的密码更安全?

    在生活中,我们需要用到大量的密码,这些密码最好不要统一,否则万一泄漏的话,所有账号都暴露在风险之下。而在工作中,我们同样也需要用到大量密码,比如批量添加用户,批量设置服务器密码等。

    如果靠自己去想的话,想到的密码可以不够强大,而且比较费力。下面良许就介绍 3 种方法来批量生成高强度的密码。

    所谓的高强度密码,就是包含了大小写、数字、符号的密码。

    1. pwgen

    pwgen 的特点是可以生成一些能够被人类记住,并且也足够安全的密码。但是,如果你想生成不容易记住的随机密码,只需加上 -s 选项即可。

    1.1 pwgen 的安装

    对于 Debian/Ubuntu 系统,直接使用 apt-get 命令即可安装。

    $ sudo apt install pwgen
    

    对于 RHEL/CentOS 系统,可以使用 yum 命令安装。

    $ sudo yum install pwgen
    

    其它系统可以使用对应的安装命令,在此不赘述。

    1.2 pwgen 的用法

    pwgen 最简单的用法是直接敲入这个命令,不带任何参数就可以生成 160 个密码。默认情况下,它生成的密码是易于人类记住的密码,8 个字符,包含大小写及数字。

    一共 160 个,分成 20 行 8列。限于篇幅,以下结果做了缩减。

    $ pwgen
    ameiK2oo aibi3Cha EPium0Ie aisoh1Ee Nidee9ae uNga0Bee uPh9ieM1 ahn1ooNg
    oc5ooTea tai7eKid tae2yieS hiecaiR8 wohY2Ohk Uab2maed heC4aXoh Ob6Nieso
    …………
    ahV4yore ue2laePh fu1eThui qui7aePh Fahth1nu ohk9puLo aiBeez0b Neengai5
    

    如果你想生成 5 个 14 个字符长度的密码,那么可以使用以下命令:

    $ pwgen -s 14 5
    7YxUwDyfxGVTYD em2NT6FceXjPfT u8jlrljbrclcTi IruIX3Xu0TFXRr X8M9cB6wKNot1e
    

    如果你想生成超级难记,超级安全的密码,可以加上 -cnys 选项,使用以下格式:

    $ pwgen -cnys 14 20
    mQ3E=vfGfZ,5[B #zmj{i5|ZS){jg Ht_8i7OqJ%N`~2 443fa5iJW-L?] ?Qs$o=vz2vgQBR
    ^'Ry0Az|J9p2+0 t2oA/n7U_'|QRx EsX*%_(4./QCRJ ACr-,8yF9&eM[* !Xz1C'bw?tv50o
    8hfv-fK(VxwQGS q!qj?sD7Xmkb7^ N#Zp\_Y2kr%!)~ 4*pwYs{bq]Hh&Y |4u=-Q1!jS~8=;
    ]{$N#FPX1L2B{h I|01fcK.z?QTz" l~]JD_,W%5bp.E +i2=D3;BQ}p+$I n.a3,.D3VQ3~&i
    

    2. openssl

    openssl 命令是调用 OpenSSL 的一些库中的各种密码学函数来生成密码,强度也相对比较高。

    我们可以使用以下命令格式来生成一个 14 位的随机密码:

    $ openssl rand -base64 14
    WjzyDqdkWf3e53tJw/c=
    

    但是,这样一条命令只能生成一个密码,如果想要批量生成密码,就要写一个简单的 Shell 语句。

    $ for pw in {1..4}; do openssl rand -base64 14; done
    6i0hgHDBi3ohZ9Mil8I=
    gtn+y1bVFJFanpJqWaA=
    rYu+wy+0nwLf5lk7TBA=
    xrdNGykIzxaKDiLF2Bw=
    

    3. gpg

    1991年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件 PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为 GnuPG

    我们可以使用以下格式来生成一个随机的 14 位高强度密码。

    $ gpg --gen-random --armor 1 14
    or
    $ gpg2 --gen-random --armor 1 14
    jq1mtY4gBa6gIuJrggM=
    

    同样地,如果这个命令只能生成一个密码,如果要生成多个,那就需要写一个简单的 Shell 语句。

    $ for pw in {1..4}; do gpg --gen-random --armor 1 14; done
    or
    $ for pw in {1..4}; do gpg2 --gen-random --armor 1 14; done
    F5ZzLSUMet2kefG6Ssc=
    8hh7BFNs8Qu0cnrvHrY=
    B+PEt28CosR5xO05/sQ=
    m21bfx6UG1cBDzVGKcE=
    

    4. 小结

    一个强大的密码是保证我们账号安全的第一步,重要性不容小觑。本文介绍了 3 种方法随机生成高强度密码,但还有很多工具还可以生成这样的密码,比如 makepasswdmkpasswd 等。大家平常都是怎么生成密码的?欢迎留言讨论!


    公众号:良许Linux

    有收获?希望老铁们来个三连击,给更多的人看到这篇文章

  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/yychuyu/p/13045556.html
Copyright © 2011-2022 走看看