mkpasswd
输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串。
如果用Apache
Web服务器,那么也可以用htpasswd:
htpasswd
-nd
user
用户名(user)叫什么都无所谓,我们关注的是密码。这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了。
有OpenSSL的话,可以使用openssl命令:
openssl
passwd
-crypt
myPassword
把上面命令中的myPassword用你想用的密码字符串代替。
其他还有一些需要把命令在命令行中直接输入的方式,不过这种做法有个问题,就是在ps命令中可以看到密码,同时密码也会被记录入shell历史。
不过这个问题是有解决办法的:用脚本,或者语言解释器。
比如使用Perl:
perl
-e
crypt('password','sa')"
Perl需要一个加密盐,如这里使用了sa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。
Ruby也一样需要加密盐:
ruby
-e
"password".crypt("JU")
print("n")'
PHP也可以:
php
-r
"print(crypt('password','JU')
.
"n")"
需要注意的是,如果不使用加密盐(如上面命令中的JU),那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数。
Python需要导入crypt库并使用加密盐:
python
-c
'import
crypt
crypt.crypt("password","Fx")'
这里的加密盐是Fx。
数据库也可以生成crypt密码。比如用MySQL:
echo
"select
encrypt('password')"
|
mysql
另外,Tcl,Ubuntu下的trf,还有Lua的lua-crypt插件也可以实现相同的目的。
欢迎补充其他的方式!
*nix系系统:ES(Unix)
例子: IvS7aeT4NzQPM
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:第1、2位为salt,例子中的'Iv'位salt,后面的为hash值
系统:MD5(Unix)
例子:$1$12345678$XM4P3PrKBgKNnTaqG9P0T/
说明:Linux或者其他linux内核系统中
长度:34个字符
描述:开始的$1$位为加密标志,后面8位12345678为加密使用的salt,后面的为hash
加密算法:2000次循环调用MD5加密
系统:SHA-512(Unix)
例子:$6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:开始的$6$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-512加密
系统:SHA-256(Unix)
例子:$5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi
说明:Linux或者其他linux内核系统中
长度: 55 个字符
描述:开始的$5$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-256加密
系统:MD5(APR)
例子:$apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.
说明:Linux或者其他linux内核系统中
长度:37个字符
描述:开始的$apr1$位为加密标志,后面8位为salt,后面的为hash
加密算法:2000次循环调用MD5加密
windows系统:
windows
例子:Admin:b474d48cdfc4974d86ef4d24904cdd91
长度:98个字符
加密算法:MD4(MD4(Unicode($pass)).Unicode(strtolower($username)))
mysql
系统:mysql
例子:606717496665bcba
说明:老版本的MySql中
长度:8字节(16个字符)
说明:包括两个字节,且每个字的值不超过0x7fffffff
系统:MySQL5
例子:*E6CC90B878B948C35E92B003C792C46C58C4AF40
说明:较新版本的MySQL
长度:20字节(40位)
加密算法:SHA-1(SHA-1($pass))
其他系统:
系统:MD5(WordPress)
例子:$P$B123456780BhGFYSlUqGyE6ErKErL01
说明:WordPress使用的md5
长度:34个字符
描述:$P$表示加密类型,然后跟着一位字符,经常是字符‘B’,后面是8位salt,后面是就是hash
加密算法:8192次md5循环加密
系统:MD5(phpBB3)
说明:phpBB 3.x.x.使用
例子:$H$9123456785DAERgALpsri.D9z3ht120
长度:34个字符
描述:开始的$H$为加密标志,后面跟着一个字符,一般的都是字符‘9’,然后是8位salt,然后是hash 值
加密算法:2048次循环调用MD5加密
系统:RAdmin v2.x
说明:Remote Administrator v2.x版本中
例子:5e32cceaafed5cc80866737dfb212d7f
长度:16字节(32个字符)
加密算法:字符用0填充到100字节后,将填充过后的字符经过md5加密得到(32位值)
md5加密
标准MD5
例子:c4ca4238a0b923820dcc509a6f75849b
使用范围:phpBB v2.x, Joomla 的 1.0.13版本前,及其他cmd
长度:16个字符
其他的加salt及变形类似:
md5($salt.$pass)
例子:f190ce9ac8445d249747cab7be43f7d5:12
md5(md5($pass))
例子:28c8edde3d61a0411511d3b1866f0636
md5(md5($pass).$salt)
例子:6011527690eddca23580955c216b1fd2:wQ6
md5(md5($salt).md5($pass))
例子: 81f87275dd805aa018df8befe09fe9f8:wH6_S
md5(md5($salt).$pass)
例子: 816a14db44578f516cbaef25bd8d8296:1234
Ruby环境下的gem sources地址默认是国外网络地址,所以在使用gem的过程中经常会出现找不到资源的Error。那么如何解决这种Error?方法很简单:要么就多次尝试执行gem命令,要么就修改gem源地址。下面由小河给大家分享:如何修改Ruby的gem源地址。
注:无论是在windows系统上还是在linux系统上其修改方式一样,以CentOS6.4为例。
工具/原料
Ruby
gem源(gem sources)
CentOS6.4
方法/步骤
进入Centos6.4系统。
◆示例是以Centos6.4系统为例。
◆若是windows系统则进入“命令提示符”做修改。
查看当前使用的源地址。
◆输入:gem sources
删除默认的源地址。
◆输入:gem sources -r url地址
注:默认的url地址后必须有”/”,否则删不掉。
添加淘 宝的源地址。
◆输入:gem sources -a url地址
注:国内使用淘 宝的源比较稳定,且安装或更新网速都比较快。
更新源的缓存
◆输入:gem sources -u
更新源的缓存后即完成了Ruby的gem源修改。