Linux下base64命令工具的使用
生活随笔
收集整理的這篇文章主要介紹了
Linux下base64命令工具的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 版權聲明:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。[url]http://snailwarrior.blog.51cto.com/680306/142472[/url] |
| 【小蝸牛閑情之作】 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"編碼,并打印到標準輸出 [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源碼包自己編譯: [url]http://www.fourmilab.ch/webtools/base64/base64-1.5.tar.gz[/url] 我測試過沒問題: [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]# |
轉載于:https://blog.51cto.com/verdureorange/143412
總結
以上是生活随笔為你收集整理的Linux下base64命令工具的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CDP客户数据管理平台体系化搭建
- 下一篇: Linux代理服务器与防火墙安装与应用