利用Linux系统生成随机密码的8种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。
1. 使用SHA算法来加密日期,并输出结果的前10个字符:
[root@kafka60 shell]# date +%s |sha256sum |base64 |head -c ;echo
YTc4Mjk0Yj
2. 使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符:
#tr参数
-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
.生成10个小写字母
[root@kafka60 shell]# < /dev/urandom tr -dc a-z|head -c ${:-};echo
iprnfrqlhr
.生成10个大写字母
[root@kafka60 shell]# < /dev/urandom tr -dc A-Z|head -c ${:-};echo
PSKSFZYQPH
.生成10个数字
[root@kafka60 shell]# < /dev/urandom tr -dc -|head -c ${:-};echo .生成10个数字和大写字母的组合字符串
[root@kafka60 shell]# < /dev/urandom tr -dc --A-Z|head -c ${:-};echo
M6HP4LHTNJ
.生成10个随机字符(包含数字,大写字母,小写字母)
[root@kafka60 shell]# < /dev/urandom tr -dc --A-Z-a-z|head -c ${:-};echo
79JUYcjrjx
.生成10个随机字符(包含数字,大写字母,小写字母)
[root@kafka60 shell]# < /dev/urandom tr -dc --A-Z-a-z-|head -c ${:-};echo
JdOi4TMmZD
.生成10个随机字符(包含数字,大写字母,小写字母,特殊字符)
[root@kafka60 shell]# < /dev/urandom tr -dc --A-Z-a-z-/|head -c ${:-};echo
s5-yTgMa8G
3. 使用openssl的随机函数
[root@kafka60 shell]# openssl rand -base64
6kf9CHiiRgiSVQ==
[root@kafka60 shell]# openssl rand -base64 |tr A-Z a-z
1ivhbhsrvjsfsa==
[root@kafka60 shell]# openssl rand -base64 |tr A-Z a-z|cut -c -
hbxd/42tag
4. 这种方法类似于之前的urandom,但它是反向工作的。
[root@kafka60 shell]# tr -cd '[:alnum:]' </dev/urandom |fold -w32|head -n1 ##-w32表示生成32个字符的宽度字符
PezxAXSxVNKL3GQcjovgmoiIaDVByxXT
[root@kafka60 shell]# tr -cd '[:alnum:]' </dev/urandom |fold -w10|head -n1
b1r4qLm09S
5. 使用string命令,它从一个文件中输出可打印的字符串
[root@kafka60 shell]# strings /dev/urandom | grep -o '[[:alnum:]]' | head -n | tr -d '\n'; echo
zFSi9lMfBe6igWotELx0O85sx1hL2ux7
6. 这是使用urandom的一个更简单的版本
[root@kafka60 shell]# </dev/urandom tr -dc _A-Z-a-z--|head -c32;echo
cBdmH-Y7fPzROb4pjCMV7CWK75OHcXgV
[root@kafka60 shell]# </dev/urandom tr -dc a-z--|head -c32;echo
oyglc4qzbd54alegng40k0kvrb8m6q9k
[root@kafka60 shell]# </dev/urandom tr -dc a-z--|head -c10;echo
qzghgesb2w
7. 使用非常有用的dd命令
[root@kafka60 shell]# dd if=/dev/urandom bs= count= >/dev/null | base64 -w | rev | cut -b - | rev
T5cfmBaTX1xcUo+aa4wK+XKF/ydh1VqovEyl8oCxmsw
[root@kafka60 shell]# dd if=/dev/urandom bs= count= >/dev/null | base64 -w | rev | cut -b - | rev
KQqr7OPAoaHsIg=
8. 你甚至可以生成一个只用左手便可以输入的密码
[root@kafka60 shell]# </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c32; echo
xRzqRTxVwzt2eaa13Ad!Gbt2rsVBAf$r
[root@kafka60 shell]# </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c10; echo
!t#@C3@QTe
利用Linux系统生成随机密码的8种方法的更多相关文章
- 利用Linux系统生成随机密码的10种方法【转】
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- 利用Linux系统生成随机密码的9种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- 利用Linux系统生成随机密码的10种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- PHP生成随机密码的4种方法及性能对比
PHP生成随机密码的4种方法及性能对比 http://www.php100.com/html/it/biancheng/2015/0422/8926.html 来源:露兜博客 时间:2015-04 ...
- 在Linux文件清空的几种方法
在Linux文件清空的几种方法 1.使用重定向的方法 [root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7 ~]# > tes ...
- linux安装软件的几种方法----linux下编译安装软件的一般步骤
linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...
- linux替换字符串的几种方法
1. 基本替换:s/str1/str2/ 替换当前行第一个str1为str2:s/str1/str2/g 替换当前行所有str1为str2:n,$s/str1/str2/ 替换第 n 行开始到最后一行 ...
- Linux安装MySQL的两种方法
转载:http://blog.csdn.net/superchanon/article/details/8546254/ 1. 运行平台:CentOS 6.3 x86_64,基本等同于RH ...
- Linux添加系统调用的两种方法
前言 系统调用的基本原理 系统调用其实就是函数调用,只不过调用的是内核态的函数,但是我们知道,用户态是不能随意调用内核态的函数的,所以采用软中断的方式从用户态陷入到内核态.在内核中通过软中断0X80, ...
随机推荐
- 自然语言交流系统 phxnet团队 创新实训 个人博客 (一)
项目涉及链表操作,遂整理: 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理.但是链表失去了数组随机读取的优点,同时链表由于增加了结点 ...
- 关于Unity中UI中的Image节点以及它的Image组件
一.图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后 ...
- PHP wamp server问题
只能说各种不顺,天热人烦! 问题一.wampapache服务不能启动之VCRUNTIME140.DLL文件丢失. 这个是缺少VC运行库,查找并安装相应的文件即可. 问题二.wampapche服务不能启 ...
- CentOS 6.5在grub界面下更改root密码
想要更改CentOS 7 root的密码或者忘记了root的密码的时候可以在grub界面下更改root的密码. 百度了很多内容,更多方法都是适用于centos6及以前版本的,终于找到一个可以的. 1. ...
- 不定义JQuery插件 不要说会JQuery
二.普及JQuery知识 知识1:用JQuery写插件时,最核心的方法有如下两个: $.extend(object) 可以理解为JQuery 添加一个静态方法. $.fn.extend(object) ...
- linux中,查看某个进程打开的文件数?
需求描述: 今天在处理一个问题的时候,涉及到查看某个进程打开的文件数,在此记录下. 操作过程: 1.通过lsof命令查看某个特定的进程打开的文件数 [root@hadoop3 ~]# lsof -p ...
- jQuery中animate()的方法以及$("body").animate({"scrollTop":top})不被Firefox支持问题的解决
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/50846678 本文出自[我是干勾鱼的博客] jQuery中animate()的方 ...
- Python 流程控制:while
while 语法如下,当条件为假时循环才退出,否则会一直循环下去: while 条件: 执行语句 当条件为假时,才会执行else语句: while 条件: 执行语句 else: 执行语句
- Windows 下安装 Python3
可以使用两种方式安装 Python3,一种是直接去官网下载安装包,然后进行安装即可:另一种是通过安装 Anaconda 来安装 Python3, Anaconda 提供了 Python 的科学计算环境 ...
- Intel S5000VSA(SAS)主板设置RAID 步骤【转】
Intel S5000VSA(SAS)主板设置RAID 步骤 我近日亲自安 装了一台服务器,用的是intel S5000VSA 4DIMM主板,因为在安装过程中没有注意到一些细节,所以在安装时碰到了一 ...