两款不错的Linux密码生成工具

先介绍最简单的方法,Linux自带的

$ strings /dev/urandom |tr -dc A-Za-z0-9 | head -c 20; echo
whucNWhr35W6ZP0MxrLQ
$ head -c 12  /dev/random | base64 | tr -d '\n='
Z9Xx4neDb+P3jHkD


-c 参数调整密码长度


pwgen

项目地址:https://sourceforge.net/projects/pwgen/

安装

$ sudo apt-get install pwgen -y

使用

$ pwgen --help

Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]

 

使用案例:

$ pwgen -ysBv 15

Xb7:b[Lthw-zmVx k%vrdn]R>T4#+PW <%!4~\t}.MH!9&+ f?9|/MN3CJc_'[{ 4,rVVq?$gK@s@*_
4"'_RsN4c;W_"k= $>MX,|T9TVWt'_s PW?;MHN+tzF7>g[ mb3+`tnx*/KrWPN zpqK$>)_-?CVk4`
N`4NH;f3q*'r+xz s|:~,>L'NP7m-jX FF'3'jTp9/R\!H\ Ht<(b^X<93*^q/+ |!^c]P+mgN$4C=s
`^"HK3sm$F>;whb _XwWcFpW)4!xxpn 9#3V\kCVXW&]*7P ;Lvc\?L#mpM9xdL 3@hN\m/@*`zW%Tf
Cmr+&'wH4#tr9,> @p.N)KCtT=@9{mX `Ph[#Jx|X:.3*#V F@/,tF':n7T_JsL /:r7Rr]*z#^@n.(
sJzppz%<-7C-C;T &c]3`Vd_7\$g#:x xLKF};M4#%v-7Rg +*/[wpp]{nF9bVF @r9(~w"[WzfCTt)
WfpvV9g~&gm$`h~ >!#qsfF3zN;+.>" j3M{`H$zft<~Nwg 7RbL?zPwJ$Mbd>} \F9`*ksWp77Cx#=
K[cPz3FnzgK}fv: ^f7M"|z>][Hp$=( hV}>V7.$tJpV{r` qdN9$c%Nd'KR'jp {T3&7%]{*T43rN4
/*~L%W^L(q)N;t9 vTWJ&r4*)N9wnXr jn4R[V^~CT)V;/= HH',4"xVTjf@H>! :zcs\H=@x\7(ghd
-4>h;+WWh@H$9]~ M/mFg';P7)dJ-|? '@VC4H*q|j&"@J7 T#}X:[j.L<3]Nr+ ?hF>)PLLN}r`T3K
bqP4%R;?g)*L]Xk 3+)j--]Hv^[r?bw f.4kNRHh"t*)F^h tV}#4w@~dh$9tFb nbP3W~k#KfW3'|=
HCd@-$/p"sh4W-_ V{9t"q-F4z9|L4T +[P\Ls9hL>*)gC4 w:bz7#g[,W&`?W= <C;7(gPV@<[_[\/
^z?9b=bMh}+t%Xk hLr_K&d*c,g_4dL ^\^_#PJf4#w~CNk c*<dgr9_c"wNWgd 9MjkNq`[!k_|9(@
{[7&"&^4.^]sK"} w9>3\bX&(Wb"v\# b3%WK!=7bk]mtX~ z{'<c9.r@^fT'XV (}=p4R4dCNV|b<7
[$wt_)%9z!w.C+L Jq-tF?sj4WkH!x\ Kx34F_PHFr!~Frx ;(H3x73MhM3@gq~ @pwF9LK<|<nx=[z
(_[9cFTsX_MC&T> -{|_99pNmsq&CJ^ 9WbhPwt;+{"^`@\ n4h[x_F`g}Pt4{R p!m7d/dk4>J@Ljj
9_/CdwTX}$!vN_h :J(d7_-)N["&j*w (=V#_<\p9JCw-~, >|_/k.7hdL\{`): .>3\fK_h>Ws4_@%
@9?XLVCg7~fF,fF 7"~+Wd!b4!hdx\9 4*m>*7FXd#P+<<p xt~:jm?$NHd[(9: LfvK">9M+"/;L9`
rXJW+Xqp4^)n<JL <Vr9\n$P;hKhj`m /7&J&H\x&m}z[H/ +&h<?P%c!|]@3b| -zF9?<N;nt[J*`K
{7JzT/*sN$vHgMh ,R7XN,Ws'#+&>*F )-WqdJ3"^s*JsC% '!9<]-d~_!Rw#[( 9)9dPJ%9Fk>L/n'
$ pwgen -ysBv 12 -1
j:3fcNW*<^Ft
$ pwgen -ysBv 6 -1 | fold -w1 |shuf|tr -d '\n'
q3?bH;

解释:

fold -w1 将字符串拆分,一行一个字符

shuf 打乱字符串

tr -d '\n' 将一个个字符拼起来,用 tr '\n' '\0' 也行

xkcdpass 一个用Python编写的密码生成器

可以从这里下载: https://pypi.python.org/pypi/xkcdpass/


安装

$ sudo apt-get install xkcdpass -y

使用

$ xkcdpass --help

usage: xkcdpass [-h] [-w WORDFILE] [--min MIN_LENGTH] [--max MAX_LENGTH]
                [-n NUM_WORDS] [-i] [-v VALID_CHARS] [-V] [-a ACROSTIC]
                [-c COUNT] [-d DELIM] [--allow-weak-rng]

使用案例:

               
先简单运行下xkcdpass

$ xkcdpass
coastal palpable spiny delicacy removal mobster

将会随机给出你几个像上面这样的字典单词

$ xkcdpass -c 6
saffron sixth duller bargraph unpinned gaffe
dangle hurling croon elevation untitled justly
muster pastrami unruffled armful purging stack
exceeding january outline preorder petticoat stubborn
elective doorman giddily clapping valium handled
moonstone direction spoiling debit antiviral yodel

会生成6行随机字典单词

你可以用这些单词作为其他命令,比如 md5sum 的输入,来获取随机密码(就像下面这样)。

$ xkcdpass | md5sum
e0c54cdbbd25ad71664b38e8b391f219  -


默认情况下,xkcdpass使用的是EFF的“Long”字典表,但是你也可以使用自己的字典表。(自己生成字典表可以参考crunch--字典生成工具)

$ xkcdpass -w wordlist1.txt -w wordlist2.txt

两者结合脚本使用

将 pwgen 和 xkcdpass 结合起来用,生成 12 位密码的脚本

#!/bin/bash
p1=`xkcdpass | md5sum`
p2=`pwgen -ysBv 6 -1 | fold -w1 |shuf|tr -d '\n'`
p3=`echo ${p1:0:6}${p2} | fold -w1 |shuf|tr -d '\n'`
echo ${p3}

猜你喜欢

转载自www.cnblogs.com/wpjamer/p/9913493.html