首頁 >常見問題 >base64編碼有什麼用?

base64編碼有什麼用?

coldplay.xixi
coldplay.xixi原創
2020-07-01 15:07:077187瀏覽

base64編碼的用處:1、將非ASCII字元的資料轉換成ASCII字元;2、特別適合在http和mime協定下快速傳輸資料;3、資料內容進行編碼來進行傳輸,安全簡單。

base64編碼有什麼用?

base64編碼的用處:

1、Base64作用

  • 由於某些系統中只能使用ASCII字元。 Base64就是用來將非ASCII字元的資料轉換成ASCII字元的一種方法。

  • base64特別適合在http,mime協定下快速傳輸資料。

  • base64其實不是安全領域下的加密解密演算法。雖然有時候常常看到所謂的base64加密解密。其實base64只能算是一個編碼演算法,對資料內容進行編碼來適合傳輸。雖然base64編碼過後原文也變成不能看到的字元格式,但這種方式很初級,很簡單。

2、Base64編碼應用

  Base64編碼可用於在HTTP環境下傳遞較長的識別資訊。例如,在Java Persistence系統Hibernate中,就採用了Base64來將一個較長的唯一識別碼(一般為128-bit的UUID)編碼為一個字串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程式中,也常常需要把二進位資料編碼為適合放在URL(包括隱藏表單域)中的形式。此時,採用Base64編碼不僅比較簡短,同時也具有不可讀性,也就是所編碼的資料不會被人用肉眼所直接看到。

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

  為解決此問題,可採用一種用於URL的改進Base64編碼,它不僅在末尾去掉填充的'='號,並將標準Base64中的“ ”和“/”分別改成了“-”和“_”,這樣就免去了在URL編解碼和資料庫儲存時所要作的轉換,避免了編碼資訊長度在此過程中的增加,並統一了資料庫、表單等處物件標識符的格式。

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

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

3、其他應用程式

  1)Mozilla Thunderbird和Evolution用Base64來保密電子郵件密碼

  2)Base64 也會經常用作一個簡單的「加密」來保護某些數據,而真正的加密通常都比較繁瑣。

  3)垃圾訊息傳播者用Base64來避過反垃圾郵件工具,因為那些工具通常都不會翻譯Base64的訊息。

  4)在LDIF檔案,Base64用作編碼字串。

以上是base64編碼有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn