Base64加解密

定義

Base64:以64個字符(a-z,A-Z,0-9,+,/)作為基礎集合的編碼方式。

原理

    1. 將每三個字節作為一組,一共是3*8=24個二進制位
    1. 將這24個二進制位分為四組,每個組有6個二進制位
    1. 在每個小組前面加兩個00,擴展成32個二進制位,即四個字節
    1. 根據base64基礎表,得到擴展后的每個字節的對應的base64符號,加密完成

編碼的具體實現

Base64編碼要求把3個8位字節(3*8=24)轉化為4個6位的字節(4*6=24),之后在6位的前面補兩個0,形成8位一個字節的形式。由于2的6次方為64,所以每6個位為一個單元,對應某個可打印字符。當原數據不是3的整數倍時,如果最后剩下兩個輸入數據,在編碼結果后加1個“=;如果最后剩下一個輸入數據,編碼結果后加2個“=;如果沒有剩下任何數據,就什么都不要加,這樣才可以保證資料還原的正確性

作用

Base64內容傳送編碼被設計用來把任意序列的8位字節描述為一種不易被人直接識別的形式

附文

Base基礎表

/**
 * Lookup table for turning Base64 alphabet positions (6 bits)
  * into output bytes.
 */
private static final byte ENCODE[] = {
     'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
     'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
     'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
     'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/',
};

轉碼對照表

轉碼對照表

參考摘錄:https://www.cnblogs.com/Bonker/p/3558849.html

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 在測試公司短信業務中遇到,短信驗證的參數值傳的是base64加密后的內容,在測試的時候最開始傳的4位數字,遇到不成...
    性能CS人閱讀 2,120評論 0 4
  • 最近公司新項目決定換一種數據加密方式,之前用的是des+Base64,現在決定用rc4+Base64,在網上找了不...
    MonkeyHan閱讀 2,809評論 7 7
  • 了解CTF的朋友們,肯定對一種題型不陌生——Misc,Misc里面有各種各樣的編碼,眼花繚亂的文本通過層層解碼后得...
    Ackerzy閱讀 11,841評論 1 30
  • 如果想知道樹上李子的味道,只有嘗過才知道,如果你想知道前面的路,就問問那些返程的人。如果想知道自己到底有...
    二十七度裝飾樊廣東閱讀 641評論 0 3
  • 農村的人,一生的事業就是土地上的莊稼,他們對土地有著一種特殊的感情,那是一種眷念,一種對土地的情懷!我的父親...
    鄉下讀書人閱讀 503評論 4 2