Linux命令生成批量随机密码生成器的方法有哪些

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
linux 使用pwgen命令创建随机密码
摘要:创建随机密码,以前写过一篇《php密码生成类》的文章。PHP密码生成类的功能如下:1.可设定密码长度2.可设定要生成的密码个数,批量生成。3.可以指定密码的规则,字母,数字,特殊字符等。对于非linux的系统,可以使用上面这个类创建随机密码。在linux系统下,使用pwgen命令创建随机密码,更为简单。安装:sudoapt-getinstallpwgen&语法:pwgen[OPTION][pw_length][num_pw]&参数:-cor–capital
创建随机密码,以前写过一篇《php密码生成类》的文章。
PHP密码生成类的功能如下:
1.可设定密码长度 2.可设定要生成的密码个数,批量生成。 3.可以指定密码的规则,字母,数字,特殊字符等。
对于非linux的系统,可以使用上面这个类创建随机密码。
在linux系统下,使用pwgen命令创建随机密码,更为简单。
安装: sudo apt-get install pwgen
& 语法: pwgen [ OPTION ] [ pw_length ] [ num_pw ]
& 参数: -c or –capitalize 密码中至少包含一个大写字母
-A or –no-capitalize 密码中不包含大写字母
-n or –numerals 密码中至少包含一个数字
-0 or –no-numerals 密码中不包含数字
-y or –symbols 密码中至少包含一个特殊符号
-s or –secure 生成完全随机密码
-B or –ambiguous 密码中不包含歧义字符(例如1,l,O,0)
-H or –sha1=path/to/file[#seed] 使用SHA1 hash给定的文件作为一个随机种子
-C 在列中打印生成的密码
-1 不要在列中打印生成的密码,即一行一个密码
-v or –no-vowels 不要使用任何元音,以避免偶然的脏话
生成长度8,含有数字,含有大小写字母的密码4个,列打印 pwgen -ncC 8 4IGhoo0Oh Thex7AeS Ir9xaera Ahngi6Ee
& 生成长度8,含有数字,含有小写字母,不包含歧义的密码4个,列打印 pwgen -nABC 8 4yaew4aph roof3sho ooyoo3oh soo9coah
& 生成长度16,含有数字,含有大小写字母,含有特殊字符的密码8个,行打印 pwgen -ncy1 16 8egh5iehoo7Keiqu/ooC8quaiteof+eenUyie'thobu^u1Ap9yuqu=oQuoFie6Gofshi9ohS&eid9phaeahquai*gah6quaiFohSh*iqueeL4il6orai7oe'j-ah1Deis
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
邮箱低至5折
推荐购买再奖现金,最高25%
&200元/3月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
linux 使用pwgen命令创建随机密码相关信息,包括
的信息,所有linux 使用pwgen命令创建随机密码相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
InternationalUnix下生成随机复杂密码的三种方法_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Unix下生成随机复杂密码的三种方法
来源:Linux社区&
作者:jim123
最近有人问我怎么样在对Unix系统中的密码做设置,当时就随口说直接在键盘上随便按一通就可以了,当然如果是业务需求不是非常严格的情况下当然这样也行,但是如果要求是需要一个非常长的、限定长度的随机数密码就有点不行了,那么我们就可以借助系统中常用的工具实现随机数密码的设置,当然实际生产的方法很多,在这里就简单的说一下常用的几种方法:
一、使用有输出指令通过计算 md5 值,然后截取其中的一部分当做随机密码,这种方法使用的指令可以使用date、uptime等等有数字英文输出指令,所以直接echo "passwd123456"单词也行,缺点就是生成密码全部是小写+数字的安全性一般,方法如下:
[root@linuxidc ~]# date | md5sum | cut -b 1-10 ac404a8128 #这里以date指令为例,截取1~10位生成的10位随机数密码
二、使用mysql生成41位的十六进制密码,这个是通过mysql的哈希算法算出来,这个一般用于mysql的用户密码设置时使用,缺点是这种方法要依赖于mysql数据库,方法如下:
mysql& select password('password'); +-------------------------------------------+ | password('password')& & & & & & & & & & & | +-------------------------------------------+ | *DEE42FDADCA2EC9D1E19 | +-------------------------------------------+ 1 row in set (0.00 sec)
三、使用oenssl生成的随机数再用base64编码加密,这种方法比较常用,因为一般生成的密码有大小写英文、数字、特殊符号,这个方法需要系统中有安装openssl,一般使用yum就可以安装了,方法如下:
[root@linuxidc ~]# openssl rand -base64 10 gIfIuLvIeZk+tw== #生成10位的随机数密码
当然在实际生产环境中可以根据不同的情况做选择,当然如果需要强密码一般推荐使用第三种方法
本文永久更新链接地址:
相关资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Linux命令行生成随机密码的方法有哪些_百度知道
Linux命令行生成随机密码的方法有哪些
我有更好的答案
生成一个随机密码对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位。希望你正在使用一些类似于LastPass的密码管理器,这样你就不用自己记住这些随机生成的密码了。1. 这种方法使用SHA算法来加密日期,并输出结果的前32个字符:Shell1
date +%s | sha256sum | base64 | head -c 32 ; echo2. 这种方法使用内嵌的/dev/urandom,并过滤掉那些日常不怎么使用的字符。这里也只输出结果的前32个字符:Shell1
& /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};3. 这种方法使用openssl的随机函数。如果你的系统也许没有安装openssl,你可以尝试其它九种方法或自己安装openssl。Shell1
openssl rand -base64 324. 这种方法类似于之前的urandom,但它是反向工作的。Bash的功能是非常强大的!1
tr -cd '[:alnum:]' & /dev/urandom | fold -w30 | head -n15. 这种方法使用string命令,它从一个文件中输出可打印的字符串:Shell1
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo6. 这是使用urandom的一个更简单的版本:Shell1
& /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c67. 这种方法使用非常有用的dd命令:Shell1
dd if=/dev/urandom bs=1 count=32 2&/dev/null | base64 -w 0 | rev | cut -b 2- | rev8. 你甚至可以生成一个只用左手便可以输入的密码:Shell1
&/dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo &&9. 如果每次都使用上述某种方法,那更好的办法是将它保存为函数。如果这样做了,那么在首次运行命令之后,你便可以在任何时间只使用randpw就可以生成随机密码。或许你可以把它保存到你的~/.bashrc文件里面。Shell1
randpw(){ & /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};}10. 最后这种生成随机密码的方法是最简单的。它同样也可以在安装了Cygwin的Windows下面运行。在Mac OS X下或许也可以运行。我敢肯定会有人抱怨这种方法生成的密码没有其它方法来的随机。但实际上如果你使用它生成的全部字符串作为密码,那这个密码就足够随机了。Shell1
date | md5sum是的,这种方法也极其好记。
采纳率:61%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。社会化媒体
了解更多>>
桂ICP备 号
阅读下一篇
自媒体运营攻略
行业经验交流
Hi,在你登录以后,就可以永久免费的收藏任何您感兴趣的内容,关注感兴趣的作者!
手机注册或邮箱注册
点击按钮进行验证
请输入正确的邮箱
已有帐号请点击
帐号创建成功!
我们刚刚给你发送了一封验证邮件
请在48小时内查收邮件,并按照提示验证邮箱
感谢你对微口网的信任与支持
你输入的邮箱还未注册
还没有帐号请点击
点击按钮进行验证
你输入的邮箱还未注册
又想起来了?
你已成功重置密码,请妥善保管,以后使用新密码登录
邮件发送成功!
我们刚刚给你发送了一封邮件
请在5分钟内查收邮件,并按照提示重置密码
感谢你对微口网的信任与支持
对不起,你的帐号尚未验证
如果你没有收到邮件,请留意垃圾箱 或
意见与建议
请留下您的联系方式
* 留下您正确的联系方式,以便工作人员尽快与你取得联系
转藏至我的藏点详解Linux下随机生成密码的命令总结
转载 &更新时间:日 15:18:25 & 作者:潇湘隐者
本文详细介绍了如何使用Linux下命令来随机生成安全、符合密码复杂度的命令。 非常具有实用价值,需要的朋友可以参考下
有时候经常为如何设置一个安全、符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结。终于有一天实在忍不住了,于是学习、整理了一下如何使用Linux下命令来随机生成安全、符合密码复杂度的命令。
俗话说“工欲善其事必先利其器”。如果能用挖土机的,你为什么要用锄头? 最近一直在反思自己:习惯性用原始、老旧的方式解决问题。而不擅长利用一些工具快捷、方便的解决问题。
&1:mkpaswd命令&
mkpasswd 是Linux自带的一个密码生成工具,可以说是非常安全、可靠的(如果你担心一些在线的随机密码生成工具,会收集、记录你生成的密码的话)。个人非常喜欢这个工具的原因就是它可以设置生成密码的复杂度。另外,它不仅可以随机帮你生成密码,还可以直接帮你修改相关账号密码。如果你找不到这个命令,那么可能你没有安装expect包。
方式1: yum安装方式。
yum -y install expect
方式2: rpm安装方式。
[root@DB-Server Server]# ls *expect*
expect-5.43.0-5.1.i386.rpm expect-5.43.0-5.1.x86_64.rpm expect-devel-5.43.0-5.1.i386.rpm expect-devel-5.43.0-5.1.x86_64.rpm expectk-5.43.0-5.1.x86_64.rpm pexpect-2.3-3.el5.noarch.rpm
[root@DB-Server Server]# rpm -ivh expect-5.43.0-5.1.x86_64.rpm
warning: expect-5.43.0-5.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID
Preparing...
########################################### [100%]
########################################### [100%]
关于mkpasswd命令的一些参数,如下所示:
&&& 功能描述
定义生成密码的长度,默认9
定义密码里面包含数字的最少个数,默认2
定义密码里面包含小写字母的最少个数,默认2
定义密码里面包含大写字母的最少个数,默认2
定义密码密码包含特殊字符的最少个数,默认1
指定另外一个生成密码的程序,默认是/etc/yppasswd
[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 -v kerry
spawn passwd kerry
passwd: Unknown user name 'kerry'.
password for kerry is 1S[(qillErt8xf
[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 -v test
spawn passwd test
passwd: Unknown user name 'test'.
password for test is 1ar1t$-qwIHcrb
[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 -v oracle
spawn passwd oracle
Changing password for user oracle.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
password for oracle is 24_vFkxqsol^pR
[root@DB-Server Server]#
[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 oracle
i&jijfgB92*fDa
[root@DB-Server Server]#
&2:apg命令
apg是一款开源免费的密码随机生成器,官方网址为
安装方式:
1:Ubuntu下的apt-get方式:
sudo apt-get install apg
2:使用RPM方式:
[root@DB-Server tmp]# rpm -ivh apg-2.2.3-3.el5.rf.i386.rpm
warning: apg-2.2.3-3.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...
########################################### [100%]
########################################### [100%]
[root@DB-Server tmp]#
关于apg命令的一些参数,如下所示:
&&& 功能描述
生成密码的模式
生成密码过程中排除字符串
apply dictionary check against file
paranoid modifier for bloom filter check
1: 随机密码生成模式。 &0:可发音的密码生成
包含数字,但是不是每个密码都有
每个密码都必须包含数字
生成密码最小长度,默认为8,实际生成的随机密码长度都可能超过这个值
生成密码最大长度。
包含特殊字符,但是不一定每个都有
每个密码都必须有特殊字符
包含大写字母。
每个密码都必须包含小写字母
&在生成的密码中间不加任何分割符,默认6个密码连成一长串
生成密码的spell
输出密码中可发音字符的发音
输出加密密码
静默模式,不输出告警信息
输出帮助信息
版本信息。
[root@DB-Server ~]#
[root@DB-Server ~]# apg -M SNCL -m 8 -x 12
Cupif6Swib?
Kij/OvMuk7
cyn=OtDuIf1
newCod"Rab4
{Flipnayt0
[root@DB-Server ~]# apg -M SNCL -m 8 -x 12 -t
dujghitt6Ob` (duj-ghitt-SIX-Ob-GRAVE)
RewgEmEc7Ow~ (Rewg-Em-Ec-SEVEN-Ow-TILDE)
Oc%Knegg1 (Oc-PERCENT_SIGN-Knegg-ONE)
loon5Quem+ (loon-FIVE-Quem-PLUS_SIGN)
El5Bleb{ (El-FIVE-Bleb-LEFT_BRACE)
Te4qued( (Te-FOUR-qued-LEFT_PARENTHESIS)
pwgen生成的密码容易记忆而且安全。pwgen的下载地址为
apt-get install pwgen
关于pwgen命令的一些参数,如下所示:参数说明:
&&& 功能描述
密码里面包含至少一个大写字母
密码里面不包含大写字母
密码里面至少包含一个数字。
密码中不包含数字
密码中至少包含一个特殊字符。
生成安全随机的密码
密码中不包含混淆的字符,例如“1”和“I”
查看帮助信息
使用指定文件sha1哈希生成,不适用随机生成
按列打印生成的随机密码
每行输出一个密码,不按列打印生成密码
密码不包括元音字母或者可能被误认为是元音字母的数字
root@DB-Server:~# pwgen -h
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]
Options supported by pwgen:
-c or --capitalize
Include at least one capital letter in the password
-A or --no-capitalize
Don't include capital letters in the password
-n or --numerals
Include at least one number in the password
-0 or --no-numerals
Don't include numbers in the password
-y or --symbols
Include at least one special symbol in the password
-s or --secure
Generate completely random passwords
-B or --ambiguous
Don't include ambiguous characters in the password
-h or --help
Print a help message
-H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
Print the generated passwords in columns
Don't print the generated passwords in columns
-v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words
root@DB-Server:~# pwgen -C
Xu3aiQuu choo2Aij ohCh3eip ou8ofeeL aYai5thi iet3eeNe ieth1Dei Mairah0o
gad9ooTh faBohZ6e ooJee3Oo Thiec4ah ahb1Iedi Sah7ahth Kainee4o beew7EeW
EedoHa1B eom3Aiph daigee2I AoG4Gei8 Siejoo9o Eemahk6a erur1Aim ohbu6Thi
ae0Ohbai Ehai9go0 ni0iYe4k Ais0eedo Ki3Aiku4 cue7AeXi Ao3lae5o oot2ahTh
yiev2Lei iNgeeth5 aeBi1sai quahh0Ei wei3aeP5 Bohng8ae Eecuor5i kie1eiTh
hiepa7Th uchaiTh5 eiX5Echi reiR4ele RaWaic5l Ahk6fae1 eiD5aen2 saep4Voh
irea6Quo Iakoh7pi eiPhoo1o pie9NeiR aj2Thied Mi3shugh oingi8Oo Vohthoo3
eph6Eed1 Ibooc3ux wo5TaPha Ceigh8aH eeX7ae6r aeB1phoo zohquo9H ahPhaig5
daenu0Ue qui2Feph queT5wo7 fooquo1M Vei4ceej Nie3nae2 IpahLa7e Ku6ahbuf
Oong2ye8 eiJ2haej ohChie4i oowah4Oz utaiM8Sh hah3Oong ieQu1pai aewai8Mi
waip3Aiz Hi0se4ai boon0AZi iR0eicee theeTh5n aeFo4air Tah7teef Aogh3Quo
Iya6eigo ie9Heegh aeyoh9Bo eiXoos4z YeZ7obai doosei4W sapeeBe8 ood1CahC
ie5ohF1s Goonoob2 aiy9Wu7W Oeh3sa5v EiTh9vai iyahs1Fu she5Oogi kohsha7E
Deeleit4 eibie0Th ou4Deihi Pai0oluk Vae6baih Doocee5e ahD2iex3 eil9aiRu
zeiNou0C uu4baiRi ahx2Eew2 Ashai0Ee Yae0aita paph4Air Ich4nei4 Mooph1Ch
eZ0AiTha Hoo8gaeh aiTha3Ga Quaif7ei Iel9oafu Cai0iD2u EeCuL0qu oochae0A
vuk1She4 Bai3Ohte aiChah9v Mohz7iYo zaeyoo8J xah4ohHi ohZ1ohw6 Eed0aeKo
tooQu3ar eiH8rata wiech2UB noMooch6 ahv8Boo3 zea2Gei4 oaM4Eile Cier9ieV
baeReef9 Iom2the0 Foe3ieza zaiNgat4 do1Bah7R ATuyom2u EeQu1lie chaeXo2j
eiza0Aed Leimuol0 eid5yu5C ahp4ahTu OobieSh2 Av8Iaxoh yeid0Eej gooR1aeY
root@DB-Server:~# pwgen -1
生成一个10个长度包含大小字母,数字、特殊字符的密码:
root@DB-Server:~# pwgen -1cny 10
The9ciep#a
生成12个密码长度为10,并且至少包含一个特殊字符、数字、大写字母的密码
root@DB-Server:~# pwgen -cy -1 -n 10 12
cahw]ie7uG
nie1OoKo-u
Anguu4Iu!N
hie%m2ojeH
be7Wo{w:ah
Ee^quaif2u
lo{Ngia1ce
AeToh"D7Ah
ieS5Cho=ch
Lu4seey&aB
Si&oR.aiH6
当然还有一些其它密码生成工具,例如makepasswd、passwordmaker-cli 。个人觉得工具的掌握在精不在多,熟练掌握一两款工具即可。网上有篇用, 里面介绍了很多种生成密码的工具和方法,只是有些命令和方法非常不实用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 linux 生成随机密码 的文章

 

随机推荐