利用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, ...
随机推荐
- 关于Cocos2d-x中对其他某个类的某个属性的获得
类A要获得类B中的某个属性,可以是节点属性 方法一 1.先在B类中定义一个_edge的节点属性(可以在B类中进行各种对_edge的操作),然后写一个方法Node* GameController::ge ...
- 下面属于javascript对象的有:( )
下面属于javascript对象的有:( ) A. Window B. Document C. Form D. String E. Navigator 解答:ACE
- e578. Setting the Clipping Area with a Shape
This example demonstrates how to set a clipping area using a shape. The example sets an oval for the ...
- openstack热迁移和冷迁移
转自: http://www.cnblogs.com/pycode/p/6494848.html 迁移类型: *非在线迁移 (有时也称之为‘迁移’).也就是在迁移到另外的计算节点时的这段时间虚拟机实例 ...
- php数组函数常见的那些
一.数组操作的基本函数 array_values($arr); //获得数组的值 array_keys($arr); //获得数组的键名 array_flip($arr); //数组中的值与键名互换( ...
- Windows下基于eclipse的Storm应用开发与调试
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html 本文以一个简单的example来讲解如何开发storm应用程序 1.创建maven ...
- UGUI之Canvas和EventSystem
先介绍一下UGUI必不可缺的两个组件:Canvas和EventSystem 事实上在场景中第一次创建UGUI控件的时候,这两个物体都会自动添加到场景中,当然,必不可缺的不是这两个物体,而是他们身上挂载 ...
- 启用lazyload插件,减少图片加载
使用lazyload的js插件,减少图片加载,提高页面加载速度和节省流量.虽然这个头像是第三方服务器来的,不消费博客的流量,但是能节省部分访客的加载时间,也是不错的哦. 用lazyload插件,只是后 ...
- 什么是mysql的元数据呢?
需求描述: 什么是mysql的元数据?metadata? 概念解释: 简单来说:任何描述数据库的数据就是数据库的元数据库(与数据库中存在的内容相对) 比如,用于描述一个冰箱是如何构成,怎么使用的就是冰 ...
- c# 以二进制读取文本文件
using System; using System.IO; public class FileApp { public static void Main() { // ...