快速业务通道

Linux下

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-17
【小蜗牛闲情之作】 Base64编码在电子邮件中很常见,Foxmail、Outlook等邮件用户代理发邮件时进行SMTP验证,就是输入base64编码格式的用户名和密码进行验证的,而邮件的主体内容和附件都很普遍的使用base64编码进行传输. 在使用telnet工具测试发邮件的时候,如果遇到需要验证情况,实用的base64编码工具就成为必要了.我在另一篇文章里谈到可以使用PHP函数来实现,这里介绍更实用的Linux工具:base64 RHEL5系统的base64工具是coreutils安装包里的,一般Linux系统都已安装.下面举一些实例来说说如何使用base64,以及相关的注意事项. 这是测试文件file,内容就只有一行字符串"snailwarrior".
[root@pps ~]# cat file
snailwarrior 1、给文件file进行base64编码,并打印到标准输出
[root@pps ~]# base64 file
c25haWx3YXJyaW9yCg== 也可以这样:
[root@pps ~]# cat file | base64
c25haWx3YXJyaW9yCg== 2、从标准输入读取文件内容,base64编码并打印到标准输出
[root@pps ~]# base64
snailwarrior
c25haWx3YXJyaW9yCg== 我是输入snailwarrior,回车,然后按Ctrl D结束文件输入的. 【注意】如果我不输入回车,连续输入两次Ctrl D,看看效果如何:
[root@pps ~]# base64
snailwarriorc25haWx3YXJyaW9y 可以看出,编码出来的字符串是:c25haWx3YXJyaW9y 我的神!两种方式编码出来的结果不一样啊!继续往下测试. 3、对字符串"snailwarrior"编码,并打印到标准输出
Empire CMS,phome.net

[root@pps ~]# echo "snailwarrior" | base64
c25haWx3YXJyaW9yCg== 这个结果跟前面"cat file"和输入snailwarrior按回车再按Ctrl D的情况是一样的.为什么不按回车直按两次Ctrl D的结果不一样呢?我们再来看看下面这个例子: [root@pps ~]# echo -n "snailwarrior" | base64
c25haWx3YXJyaW9y 你是不是惊讶的发现“缘由”了呢? echo -n 选项没有输出字符串结尾的''n''换行字符,因此字符串"snailwarrior"精确的base64编码是"c25haWx3YXJyaW9y",可以用PHP函数来检验哦.文件方式等进行的"snailwarrior"字符串编码都带入了对''n''的编码,因此,不小心就会发生莫名的编码错误哦. 4、Base64解码 [root@pps ~]# echo "snailwarrior" | base64 | base64 -d
snailwarrior
base64: invalid input [root@pps ~]# echo -n "snailwarrior" | base64 | base64 -d
snailwarriorbase64: invalid input
【注意】RHEL5自带的base64工具有BUG,base64解码时莫名出错:base64: invalid input.我们可以在这里下载一个base64源码包自己编译: http://www.fourmilab.ch/webtools/base64/base64-1.5.tar.gz 我测试过没问题: [root@pps base64-1.5]# echo "snailwarrior" | ./base64 | ./base64 -d
snailwarrior [root@pps base64-1.5]# echo -n "snailwarrior" | ./base64 | ./base64 -d
snailwarrior[root@pps base64-1.5]#
------------------------------------------------------------------------------------------ 赵小蜗牛 QQ: 755721501 E-mail: snailwarrior@qq.com 在不断奉献中谋求生存发展、打造自己的优秀品质,用人性最本质最动人的一面“营销”自己!
Empire CMS,phome.net

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号