Linux下base64命令工具的使用
生活随笔
收集整理的這篇文章主要介紹了
Linux下base64命令工具的使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| 版權(quán)聲明:原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。[url]http://snailwarrior.blog.51cto.com/680306/142472[/url] |
| 【小蝸牛閑情之作】 Base64編碼在電子郵件中很常見,Foxmail、Outlook等郵件用戶代理發(fā)郵件時(shí)進(jìn)行SMTP驗(yàn)證,就是輸入base64編碼格式的用戶名和密碼進(jìn)行驗(yàn)證的,而郵件的主體內(nèi)容和附件都很普遍的使用base64編碼進(jìn)行傳輸。 在使用telnet工具測(cè)試發(fā)郵件的時(shí)候,如果遇到需要驗(yàn)證情況,實(shí)用的base64編碼工具就成為必要了。我在另一篇文章里談到可以使用PHP函數(shù)來實(shí)現(xiàn),這里介紹更實(shí)用的Linux工具:base64 RHEL5系統(tǒng)的base64工具是coreutils安裝包里的,一般Linux系統(tǒng)都已安裝。下面舉一些實(shí)例來說說如何使用base64,以及相關(guān)的注意事項(xiàng)。 這是測(cè)試文件file,內(nèi)容就只有一行字符串"snailwarrior"。 [root@pps ~]# cat file snailwarrior 1、給文件file進(jìn)行base64編碼,并打印到標(biāo)準(zhǔn)輸出 [root@pps ~]# base64 file c25haWx3YXJyaW9yCg== 也可以這樣: [root@pps ~]# cat file | base64 c25haWx3YXJyaW9yCg== 2、從標(biāo)準(zhǔn)輸入讀取文件內(nèi)容,base64編碼并打印到標(biāo)準(zhǔn)輸出 [root@pps ~]# base64 snailwarrior c25haWx3YXJyaW9yCg== 我是輸入snailwarrior,回車,然后按Ctrl+D結(jié)束文件輸入的。 【注意】如果我不輸入回車,連續(xù)輸入兩次Ctrl+D,看看效果如何: [root@pps ~]# base64 snailwarriorc25haWx3YXJyaW9y 可以看出,編碼出來的字符串是:c25haWx3YXJyaW9y 我的神!兩種方式編碼出來的結(jié)果不一樣啊!繼續(xù)往下測(cè)試。 3、對(duì)字符串"snailwarrior"編碼,并打印到標(biāo)準(zhǔn)輸出 [root@pps ~]# echo "snailwarrior" | base64 c25haWx3YXJyaW9yCg== 這個(gè)結(jié)果跟前面"cat file"和輸入snailwarrior按回車再按Ctrl+D的情況是一樣的。為什么不按回車直按兩次Ctrl+D的結(jié)果不一樣呢?我們?cè)賮砜纯聪旅孢@個(gè)例子: [root@pps ~]# echo -n "snailwarrior" | base64 c25haWx3YXJyaW9y 你是不是驚訝的發(fā)現(xiàn)“緣由”了呢? echo -n 選項(xiàng)沒有輸出字符串結(jié)尾的'\n'換行字符,因此字符串"snailwarrior"精確的base64編碼是"c25haWx3YXJyaW9y",可以用PHP函數(shù)來檢驗(yàn)哦。文件方式等進(jìn)行的"snailwarrior"字符串編碼都帶入了對(duì)'\n'的編碼,因此,不小心就會(huì)發(fā)生莫名的編碼錯(cuò)誤哦。 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解碼時(shí)莫名出錯(cuò):base64: invalid input。我們可以在這里下載一個(gè)base64源碼包自己編譯: [url]http://www.fourmilab.ch/webtools/base64/base64-1.5.tar.gz[/url] 我測(cè)試過沒問題: [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]# |
轉(zhuǎn)載于:https://blog.51cto.com/verdureorange/143412
總結(jié)
以上是生活随笔為你收集整理的Linux下base64命令工具的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CDP客户数据管理平台体系化搭建
- 下一篇: Maven系列2--pom.xml 配置