溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Linux中Base64的示例分析

發(fā)布時(shí)間:2022-02-19 11:28:06 來(lái)源:億速云 閱讀:129 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“Linux中Base64的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux中Base64的示例分析”這篇文章吧。

Base64編碼在電子郵件中很常見(jiàn),F(xiàn)oxmail、Outlook等郵件用戶(hù)代理發(fā)郵件時(shí)進(jìn)行SMTP驗(yàn)證,就是輸入base64編碼格式的用戶(hù)名和密碼進(jìn)行驗(yàn)證的,而郵件的主體內(nèi)容和附件都很普遍的使用base64編碼進(jìn)行傳輸。

Linux中Base64的示例分析
Base64命令使用實(shí)例

這是測(cè)試文件file,內(nèi)容就只有一行字符串”snailwarrior”。

[root@pps ~]# cat filesnailwarrior12

第一種,給文件file進(jìn)行base64編碼,并打印到標(biāo)準(zhǔn)輸出,如下

[root@pps ~]# base64 filec25haWx3YXJyaW9yCg==12

也可以這樣:

[root@pps ~]# cat file | base64c25haWx3YXJyaW9yCg==12

第二種,從標(biāo)準(zhǔn)輸入讀取文件內(nèi)容,base64編碼并打印到標(biāo)準(zhǔn)輸出

[root@pps ~]# base64snailwarrior
c25haWx3YXJyaW9yCg==123

我是輸入snailwarrior,回車(chē),然后按Ctrl+D結(jié)束文件輸入的。

【注意】如果我不輸入回車(chē),連續(xù)輸入兩次Ctrl+D,看看效果如何,如下,

[root@pps ~]# base64snailwarriorc25haWx3YXJyaW9y12

可以看出,編碼出來(lái)的字符串是:c25haWx3YXJyaW9y

我的神!兩種方式編碼出來(lái)的結(jié)果不一樣啊!繼續(xù)往下測(cè)試。

第三種,對(duì)字符串”snailwarrior”編碼,并打印到標(biāo)準(zhǔn)輸出,如下

[root@pps ~]# echo "snailwarrior" | base64c25haWx3YXJyaW9yCg==12

這個(gè)結(jié)果跟前面”cat file”和輸入snailwarrior按回車(chē)再按Ctrl+D的情況是一樣的。為什么不按回車(chē)直按兩次Ctrl+D的結(jié)果不一樣呢?我們?cè)賮?lái)看看下面這個(gè)例子:

[root@pps ~]# echo -n "snailwarrior" | base64c25haWx3YXJyaW9y12

你是不是驚訝的發(fā)現(xiàn)“緣由”了呢?

echo -n 選項(xiàng)沒(méi)有輸出字符串結(jié)尾的’\n’換行字符,因此字符串”snailwarrior”精確的base64編碼是”c25haWx3YXJyaW9y”,可以用PHP函數(shù)來(lái)檢驗(yàn)哦。文件方式等進(jìn)行的”snailwarrior”字符串編碼都帶入了對(duì)’\n’的編碼,因此,不小心就會(huì)發(fā)生莫名的編碼錯(cuò)誤哦。

base64的Java代碼如下,

String pwd = "test";
byte[] enbytes = Base64.encodeBase64(pwd.getBytes());
log.info(">> {}",new String(enbytes));


byte[] debytes = Base64.decodeBase64(new String("eyJuYW1lIjoi5byg5LiJIn0K"));
log.info(">> {}",new String(debytes));1234567

需要通過(guò)maven依相應(yīng)的jar文件,如下,

   commons-codec   commons-codec


以上是“Linux中Base64的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI