今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

base64加密出現的問題

背景#

專案中仿 QQ 閃照功能,圖片的傳送邏輯是,先轉 base64,然後加密,最後加密後的字串作為檔案傳送;在處理接收的時候,按照先下載檔案,然後讀取檔案內容,再解密,然後按照 base64 字串的方式生成圖片,卻一直失敗。

解決方法#

起初以為是加解密的問題,仔細排查後,排除了這個假設。最後把解密後的字串複製到 VSCode 中仔細觀察發現,其中多了很多 \r\n

搜索後發現,是 base64 加密的問題,由於 base64 一行不能超過 76 字元,超過就會添加換行符號(在 Windows 中是\r\n,在 Linux 中是\n)。而解析後其中的換行就是錯誤訊息,所以解決方法是,把\r\n替換為空字串,然後再去生成圖片,就正常了。

參考#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。