小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Base64編碼

 CevenCheng 2011-01-04
Base64 

1.什么是Base64? 
按照RFC2045的定義,Base64被定義為:Base64內(nèi)容傳送編碼被設(shè)計用來把任意序列的8位字節(jié)描述為一種不易被人直接識別的形式,這種加密方式主要就是“防君子不防小人”。即達(dá)到一眼望去完全看不出內(nèi)容即可。 
2. 算法詳解 

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

具體轉(zhuǎn)化形式間下圖: 
字符串“張3” 
11010101 11000101 00110011 

00110101 00011100 00010100 00110011 

3. Base64編碼表 


為了保證所輸出的編碼位可讀字符,Base64制定了一個編碼表,以便進(jìn)行統(tǒng)一轉(zhuǎn)換。編碼表的大小為2^6=64,這也是Base64名稱的由來。 



           Base64編碼表 

   碼值   碼   碼值  碼  碼值碼  碼值  碼 
      0         A       17       R       34     i       51     z 
      1         B       18       S       35     j       52     0 
      2         C       19       T       36     k      53     1 
      3         D       20       U       37     l       54     2 
      4         E       21        V       38     m     55    3 
      5         F        22       W      39     n      56    4 
      6         G        23       X       40     o      57     5 
      7         H        24       Y       41     p      58     6 
      8         I          25       Z       42     q      59     7 
      9         J         26       a       43      r      60     8 
      0         K         27       b       44     s      61    9 
      11       L         28       c       45      t       62    + 
      12       M         29      d       46      u      63    / 
      13       N         30      e       47      v 
      14       O         31       f        48     w      (pad) = 
      15       P         32       g       49 x 
      16       Q         33       h       50 y 

編碼詳解 


1. 不加后補(bǔ)位的字符串“abC” 


01100001 01100010 01000011 
00011000 00010110 00001001 00000011 

24       22       9        3 

查表可以得到編碼值為:“YWJD”。 



2. 加后補(bǔ)位的字符串“ab”: 



01100001 01100010 
00011000 00010110 00001000 00000000 

24       22       8        - 


由于不夠24個字節(jié)位,所以我們要加8個0字節(jié)位以湊夠24個。“-”表示增加的補(bǔ)位,編碼后應(yīng)為“=”,所以可以得到編碼后的字符串為“YWI=”。 



3. 加后補(bǔ)位的字符串“a”: 



01100001 

00011000 00010000 00000000 00000000 

24       16       -        - 


同樣,編碼后的字符串為“YQ==”,只是這里出現(xiàn)了兩個“=”。 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多