时间:2015-03-27 17:30:38 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150327/43137.html 手机查看 评论 反馈
OpenSSL是一款命令行工具,Linux可使用OpenSSL进行一些命令行相关工作,那么Linux要如何使用OpenSSL命令行呢?下面小编将针对OpenSSL命令行的使用给大家做个详细介绍。
1. base64编码/解码
谈到命令行下如何发送邮件附件,很多人想起了uuencode。也可以使用base64编码。以下是openssl base64编码/解码的使用:
$ openssl base64 《 filename.bin 》 filename.txt
$ openssl base64 -d 《 filename.txt 》 filename.bin
2. 校验文件的一致性
UNIX下校验文件一致性的方法很多,比如sum、cksum、md5sum、sha1sum等。sum和cksum适用于简单校验的场合,生成的校验码容易重复。md5sum有安全漏洞,当前比较推荐的是sha1sum。不过sha1sum在不同的平台用法有些不同。考虑到跨平台性,建议用openssl。
$ openssl sha1 filename
SHA1(filename)= e83a42b9bc8431a6645099be50b6341a35d3dceb
$ openssl md5 filename
MD5(filename)= 26e9855f8ad6a5906fea121283c729c4
3. 文件加密/解密
OpenSSL支持很多加密算法,不过一些算法只是为了保持向后兼容性,现在已不推荐使用,比如DES和RC4-40。推荐使用的加密算法是bf(Blowfish)和-aes-128-cbc(运行在CBC模式的128位密匙AES加密算法),加密强度有保障。
加密示例:
$ openssl enc -aes-128-cbc 《 filename 》 filename.aes-128-cbc
enter aes-128-cbc encryption password:
Verifying - enter aes-128-cbc encryption password:
解密示例:
$ openssl enc -d -aes-128-cbc -in filename.aes-128-cbc 》 filename
enter aes-128-cbc decryption password:
4. 口令生成和传递
openssl可以生成随机性很强的口令。
$ openssl rand 15 -base64
s69mj+8ToN2p3Z1KESBG
以上命令要求openssl生成15个字节序列,然后用base64编码,结果产生20个字符。
在日常生活中,经常可看到这样的情况:系统管理员设置初始密码给用户,然后让用户登录去修改新密码,这给安全带来了隐患。较好的做法是用户生成口令加密后的结果发给管理员,让管理员设置到系统中。
比如对于以上生成的口令,UNIX口令加密方法如下:
$ openssl passwd -1 s69mj+8ToN2p3Z1KESBG
$1$Rp/btEwK$qhUGFlsIpDtNT1I9MD/Gg1
管理员收集每个用户交给他的加密后的串,写到一个文件中,比如文件名为newpassword:
user_a:$1$Rp/btEwK$qhUGFlsIpDtNT1I9MD/Gg1
user_b:$1$zmUy5lry$aG45DkcaJwM/GNlpBLTDy0
一个用户一行,用户名和密码之间用冒号分隔。
系统管理员运行如下命令导入用户密码:
$ chpasswd --encrypted 《 newpassword
对于老UNIX系统,生成口令密码不需要参数-1,比如:
$ openssl passwd s69mj+8ToN2p3Z1KESBG
Warning: truncating password to 8 characters
FS4lGulQ915WU
如果passwd命令后没有接口令,openssl会提示输入一个:
$ openssl passwd -1
Password:
Verifying - Password:
$1$jACBc0.C$KR5DcpttXQoKfDiapyvav0
上面就是Linux使用OpenSSL命令行的方法介绍了,Linux可使用OpenSSL生成和传递口令、校检文件的一致性、对文件进行加密处理等。
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场