溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

密碼學(xué)基礎(chǔ)之base編碼家族介紹

發(fā)布時間:2020-07-18 21:34:11 來源:網(wǎng)絡(luò) 閱讀:2830 作者:xiaoqin00 欄目:安全技術(shù)

base64.顧名思義,就是基于64個可打印字符來表示二進制數(shù)據(jù)的一種方法。(它不是加密算法)。對于64個打印字符,我們字需要6個二進制位就可以完全表示了。那么我們?nèi)绾卫?個二進制位來表示只需要6個二進制位就可以完全表示的可打印字符呢?由于2的6次方等于64,所以我們可以將每6個位元為一個單元,對應(yīng)某個可打印字符。三個字節(jié)有24個位元,對應(yīng)于4個Base64單元,即3個字節(jié)需要用4個可打印字符來表示(一般的ASCII碼中一個字符有8位,但在這64個字符中只需要6位就可以表示出來了)。它可用來作為電子郵件的傳輸編碼。在Base64中的可打印字符包括字母A-Z、a-z、數(shù)字0-9,這樣共有62個字符,此外還有兩個可打印符號在不同的系統(tǒng)中而不同。

Base64索引表:(原始表)

密碼學(xué)基礎(chǔ)之base編碼家族介紹

編碼過程實例:

編碼

密碼學(xué)基礎(chǔ)之base編碼家族介紹

上面的三個字節(jié)是原文,下面的四個字節(jié)是轉(zhuǎn)換后的Base64編碼,其前兩位均為0。

轉(zhuǎn)換后,我們再通過將二進制轉(zhuǎn)換為可打印字符來得到我們想要的字符串(也就是最終的Base64編碼)

我們可以看到經(jīng)過base64編碼后,字符串理論上比之前長1/3,也就是原來的4/3。(除下面兩種情況外)。

如果要編碼的字節(jié)數(shù)不能被3整除,最后會多出1個或2個字節(jié),那么可以使用下面的方法進行處理:先使用0字節(jié)值在末尾補足,使其能夠被3整除,然后再進行base64的編碼。在編碼后的base64文本后加上一個或兩個'='號,代表補足的字節(jié)數(shù)。也就是說,當(dāng)最后剩余一個八位字節(jié)(一個byte)時,最后一個6位的base64字節(jié)塊有四位是0值,最后附加上兩個等號;如果最后剩余兩個八位字節(jié)(2個byte)時,最后一個6位的base字節(jié)塊有兩位是0值,最后附加一個等號。

密碼學(xué)基礎(chǔ)之base編碼家族介紹

base64編碼后一般都有=號,而且密文長度較長的也基本是base64編碼。(base64編碼對)(等號是根據(jù)使用情況不同而對64種可打印字符進行修改的結(jié)果)。


base64的應(yīng)用

https://zh.wikipedia.org/zh/Base64

在base家族中,有base64,base32,base16還有傳說中的base8

在base64的編碼中http://xiaoqin00.blog.51cto.com/10468367/1713961,我們說到base64編碼是用64(2的6次方)個ASCII字符來表示256(2的8次方)個ASCII字符,也就是三位二進制數(shù)組經(jīng)過編碼后變?yōu)樗奈坏腁SCII字符顯示,長度比原來增加1/3。

同樣,base32就是用32(2的5次方)個特定ASCII碼來表示256個ASCII碼。所以,5個ASCII字符經(jīng)過base32編碼后會變?yōu)?個字符(公約數(shù)為40),長度增加3/5.

base16就是用16(2的4次方)個特定ASCII碼表示256個ASCII字符。1個ASCII字符經(jīng)過base16編碼后會變?yōu)?個字符,長度增加一倍。

在base家族中,有先寫的是base64,沒有189的是base32,

base64中包含大寫字母(A-Z)、小寫字母(a-z)、數(shù)字0——9以及+/;

密碼學(xué)基礎(chǔ)之base編碼家族介紹

base32中只有大寫字母(A-Z)和數(shù)字234567

base32索引表:

密碼學(xué)基礎(chǔ)之base編碼家族介紹

base16中只有數(shù)字0-9以及大寫字母ABCDEF。

密碼學(xué)基礎(chǔ)之base編碼家族介紹

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI