Chinaunix首页 | 论坛 | 博客
  • 博客访问: 315950
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: LINUX

2009-06-21 21:04:40

文件: base64-1.5.tar.gz
大小: 218KB
下载: 下载

 

使用 Base64 进行加、解密操作:

对文件加解密:
[root@master /]# cat file
http://zhaohang3031.cublog.cn

[root@master /]# base64 file
aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24K

[root@master /]# base64 -d file2
http://zhaohang3031.cublog.cn


对字符串加解密:
[root@master /]# echo "http://zhaohang3031.cublog.cn" |base64
aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24K

[root@master /]# echo "aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24K" |base64 -d
http://zhaohang3031.cublog.cn



**** 注意有回车符号的区别 ****

对文件进行加解密:
[root@master /]# cat file
http://zhaohang3031.cublog.cn

[root@master /]# base64 file
aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24KCg==

[root@master /]# cat file2
aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24KCg==

[root@master /]# base64 -d file2
http://zhaohang3031.cublog.cn


对字符串进行加解密:
[root@master /]# echo -n "http://zhaohang3031.cublog.cn" |base64
aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24=

[root@master /]# echo "aHR0cDovL3poYW9oYW5nMzAzMS5jdWJsb2cuY24=" |base64 -d
http://zhaohang3031.cublog.cnbase64: invalid input



【注意】RHEL5自带的base64工具有BUG,base64解码时莫名出错:base64: invalid input,RHEL4默认不安装base64.
我们可以在这里下载一个base64源码包自己编译(此包含windows命令行工具):

编译方法按默认即可: ./configure && make && make install

 

使用常用算法进行加、解密操作:

*** 其他算法的对称加密:

Base64
[root@master ssl]# echo "zhaohang" |openssl base64
[root@master ssl]
# echo "emhhb2hhbmcK" |openssl base64 -d


des 算法:
[root@master ~]# echo "zhaohang" |openssl enc -des -pass pass:123 -base64
U2FsdGVkX19j45kavF9gFXUU6uHs2bOC8WyppMHbSNw=
[root@master ~]# echo "U2FsdGVkX19j45kavF9gFXUU6uHs2bOC8WyppMHbSNw="|openssl enc -des -pass pass:123 -base64 -d
zhaohang

aes算法:
[root@WEB01 ~]# echo "zhaohang" | openssl enc -aes-128-cbc -pass pass:123456 -base64
U2FsdGVkX18YLuqf5Puu3JINbRNEKi9+IiThXFP2mCw=
[root@WEB01 ~]# echo "U2FsdGVkX18YLuqf5Puu3JINbRNEKi9+IiThXFP2mCw=" | openssl enc -aes-128-cbc -pass pass:123456 -base64 -d
zhaohang


aes算法对文件:
[root@WEB01 ~]# openssl enc -aes-128-cbc -in filename.txt -out file.bin -pass pass:123456
[root@WEB01 ~]# openssl enc -aes-128-cbc -d -in file.bin -out file.out -pass pass:123456

 

使用常用算法进行非对称加密:


加密(非对称,不能解密):
[root@WEB01 ~]
# cat filename.txt

zhaohang

sha1对文件或字符串加密:
[root@WEB01 ~]
# openssl sha1 filename.txt

SHA1(filename.txt)= cf017022db32f04cb57d2ec1ae6b39751a6155e4

[root@WEB01 ~]
# echo "zhaohang" |openssl dgst -sha1

cf017022db32f04cb57d2ec1ae6b39751a6155e4

[root@WEB01 ~]
# sha1sum filename.txt

cf017022db32f04cb57d2ec1ae6b39751a6155e4 filename.txt

MD5对文件或字符串加密:
[root@WEB01 ~]
# openssl md5 filename.txt

MD5(filename.txt)= c47df1e95ae452e959fcc73cda1a3e77

[root@WEB01 ~]
# echo "zhaohang" |openssl dgst -md5

c47df1e95ae452e959fcc73cda1a3e77

[root@WEB01 ~]
# md5sum filename.txt

c47df1e95ae452e959fcc73cda1a3e77 filename.txt

 

常用算法列举:

openssl 各种算法:

[root@WEB01 ~]# openssl -h

Standard commands
asn1parse      ca             ciphers        crl            crl2pkcs7     
dgst           dh             dhparam        dsa            dsaparam      
enc            engine         errstr         gendh          gendsa        
genrsa         nseq           ocsp           passwd         pkcs12        
pkcs7          pkcs8          rand           req            rsa           
rsautl         s_client       s_server       s_time         sess_id       
smime          speed          spkac          verify         version       
x509   

       

非对称:Message Digest commands (see the `dgst' command for more details)
md2            md4            md5            rmd160         sha            sha1          

 

对  称:Cipher commands (see the `enc' command for more details)
aes-128-cbc    aes-128-ecb    aes-192-cbc    aes-192-ecb    aes-256-cbc   
aes-256-ecb    base64         bf             bf-cbc         bf-cfb        
bf-ecb         bf-ofb         cast           cast-cbc       cast5-cbc     
cast5-cfb      cast5-ecb      cast5-ofb      des            des-cbc       
des-cfb        des-ecb        des-ede        des-ede-cbc    des-ede-cfb   
des-ede-ofb    des-ede3       des-ede3-cbc   des-ede3-cfb   des-ede3-ofb  
des-ofb        des3           desx           rc2            rc2-40-cbc    
rc2-64-cbc     rc2-cbc        rc2-cfb        rc2-ecb        rc2-ofb       
rc4            rc4-40      

 

创建随机密语:

OpenSSL还能创建非常强壮的随机密语:
openssl rand 15 -base64
wGcwstkb8Er0g6w1+Dm+
如果你运行了这个例子,你的输出将与这里的输出不同,因为密语是随机产生的。
第一个参数15是产生的二进制字节数,第二个参数-base64指出那些二进制字节应该用基于64位字符编码,对于15字节而言,输出总是20个字符,加上一个新行字符。
  基于64位字符设定了只由大写和小写的字母A-Z,数字1-9和3个标点字符:加号、斜线号和等号。这是一个有意的字符限制设置,更复杂的字符设置不是必需的,仅仅增加一个额外的字符使得安全变得不同,例如:一个8位字符完全可打印的ASCII密码大约与一个9位字符基于64位字符编码的密码强度相当。

阅读(2223) | 评论(0) | 转发(0) |
0

上一篇:iozone 测试磁盘压力

下一篇:OpenSSL简介

给主人留下些什么吧!~~