首頁 加密 & 解密 Base64
  • 粘貼文本
  • 選擇文件(.txt)
  • 執行結果
申明:文件不會經過服務器,文件讀取采用直接前端(H5)直接讀取。
<==為了代碼的完整性,請點擊復制按鈕復制代碼。

 本工具近期更新,解決了編碼問題,如有反饋或者建議,請聯系站長QQ:8446666,繼續使用老版本=>[ Base64加密解密 ]

Base64 編碼介紹,Base64使用注意事項

Base64是網絡上最常見的用于傳輸8Bit字節代碼的編碼方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的詳細規范。Base64編碼可用于在HTTP環境下傳遞較長的標識信息。

例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。

Base64是網絡上最常見的用于傳輸8Bit字節代碼的編碼方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的詳細規范。Base64編碼可用于在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。

Base64編碼要求把3個8位字節(3*8=24)轉化為4個6位的字節(4*6=24),之后在6位的前面補兩個0,形成8位一個字節的形式。 如果剩下的字符不足3個字節,則用0填充,輸出字符使用'=',因此編碼后輸出的文本末尾可能會出現1或2個'='。

外文名 base64 定 義 8Bit字節代碼的編碼方式之一
屬 性 編碼方式 可用于 在HTTP環境下傳遞較長的標識信息
應用 用于傳輸8Bit字節代碼 特 性 Base64編碼具有不可讀性

Base64使用注意問題

一、Base64和URL傳參問題

標準的Base64并不適合直接放在URL里傳輸,因為URL編碼器會把標準Base64中的“/”和“+”字符變為形如“%XX”的形式,而這些“%”號在存入數據庫時還需要再進行轉換,因為ANSI SQL中已將“%”號用作通配符。

為解決此問題,可采用一種用于URL的改進Base64編碼,它在末尾填充'='號,并將標準Base64中的“+”和“/”分別改成了“-”和“_”,這樣就免去了在URL編解碼和數據庫存儲時所要作的轉換,避免了編碼信息長度在此過程中的增加,并統一了數據庫、表單等處對象標識符的格式。

二、Base64和URL傳參問題改善

另有一種用于正則表達式的改進Base64變種,它將“+”和“/”改成了“!”和“-”,因為“+”,“*”以及前面在IRCu中用到的“[”和“]”在正則表達式中都可能具有特殊含義。

此外還有一些變種,它們將“+/”改為“_-”或“._”(用作編程語言中的標識符名稱)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。

三、Base64轉換后比原有的字符串長1/3

Base64要求把每三個8Bit的字節轉換為四個6Bit的字節(3*8 = 4*6 = 24),然后把6Bit再添兩位高位0,組成四個8Bit的字節,也就是說,轉換后的字符串理論上將要比原來的長1/3。

四、Base64轉換總結

Base64轉換,最好是不要用在加密上,尤其是參數加密,很容易出問題。

Base64互轉圖片:http://www.liohssf.cn/image2base64.html

支付掃碼

所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

正在加載... ...

时时彩定千位