专栏首页程序员小助手Linux炫技:左手密码生成器,解放右手生产力!

Linux炫技:左手密码生成器,解放右手生产力!

引言

Linux的一大优点是,你可以用数百种不同的方式,达到相同的目的。甚至可以使用几十种不同的命令,完成生成随机密码这样简单的操作。

生成随机密码

对于下面这些指令, 你可以修改设定值,以输出不同的密码长度。或者,如果不需要这么长的密码,可以只使用生成的密码的前N个字符。

1 - 使用SHA散列日期,然后使用base64编码,最后输出前32个字符。

date +%s | sha256sum | base64 | head -c 32 ; echo

2 - 使用内置的/dev/urandom,并且只过滤掉通常在密码中使用的字符。然后输出前32位。

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}; echo;

3 - 使用openssl的rand函数,这个函数可能你的系统上没有安装。不过还有其他方法。

openssl rand -base64 32

4 - Bash是非™强大!下面这个和上面的正好相反。

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

5 - 使用strings命令进行筛选,该命令从文件中输出可打印的字符串。

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

6 - 来一个urandom更简单的版本。

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

7 - 使用非常好的dd命令

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

8 - 创建一个随机的,只用左手就可以输完的密码(left-hand)。

</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""

9 - 要想一直能用,最好放函数里,然后存到 ~/.bashrc 文件内。

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

想用上面说的其它方法,那就放{}中间。

10 - 最简单的方式,在Linux、Windows Cygwin,MacOS都能用。我相信会有人说,这个随机性没有那么好,但是老实说,你自己用足够随机了。

date | md5sum

嗯,好记多了吧。

写在最后

在Linux中,还有许多其他方法可以从命令行创建随机密码。比如,mkpasswd命令,它实际上可以将密码分配给一个Linux帐户。

你最喜欢的方式是什么呢?

Happy coding :-)

本文分享自微信公众号 - 程序员小助手(mql45ea),作者:Rman

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通信老鸟:你一直在用的网速测量方法,有可能打原理上就是错的!

    有时需要测试网速,但是在开始使用文件传输工具来测量之前,请考虑一下,你实际测量的是什么?

    程序员小助手
  • 不用Linux跟着微软蓝屏吗?10大“剑”招招毙命!

    有很多原因可以说明为什么Linux应该优先于Windows和Mac等专有软件平台。但在这里,我们列出了十大“诱惑”,让你看得更清楚。

    程序员小助手
  • PHP自带的DateTime类,Carbon扩展类,真正的“相见恨晚!”

    PHP有一个名为DateTime的类,可以帮助您读取、写入、比较或计算日期和时间。除了DATETIME之外,PHP中还有许多与日期和时间相关的函数,但它为大多数...

    程序员小助手
  • 10、django开发环境搭建及使用

    django是基于python的一个框架,因此在此之前要先安装python环境,关于python环境的搭建,前面已写过,参考这里:http://www.the5...

    the5fire
  • 新网站Branding战略无从下手?教你几招赶紧上手

    作者:董梁 审校:骆姿亦 本文长度为1405字,预估阅读时间5分钟。 导读:本文作者Venchito Tampon从网站设计和结构、内容策略、传播品牌信息三个...

    iCDO互联网数据官
  • win7系统中开启wifi热点

    3、进入网络和共享中心->更改适配器设置,看到多出一个“无线网络连接2”,选中本地连接,选中属性->共享,选择共享“无线网络连接2”

    墨文
  • 一张思维导图看懂《周易》基础要点——参考《易经杂说》

    本图对《易经》的基础部分做了归纳总结。主要参考南怀瑾先生的《易经杂说》及不同版本《周易》。

    一石匠人
  • PHP setcookie无效的原因分析

    Youngxj
  • flutter_webview_plugin设置cookie

    原版的flutter_webview_plugin(v0.3.0+2版本)是不支持设置cookie的。所以接下来我们就需要修改源代码来支持设置cookie。先去...

    用户6094182
  • [干货]手把手教你用Zedboard学习Linux移植和驱动开发

    部分硬件设计中需要CPU完成对电路寄存器的配置,为了完成Zedboard对FPGA上部分寄存器的配置功能,可以在PS单元(处理器系统)上运行裸机程序(无操作系统...

    网络交换FPGA

扫码关注云+社区

领取腾讯云代金券