Base64是用文本表示二進制的編碼方式,它使用4個字節(jié)的文本來表示3個字節(jié)的原始二進制數(shù)據(jù)。
它將二進制數(shù)據(jù)轉(zhuǎn)換成一個如下所示64個可打印的字符組成的序列:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Base64的作用:常用于網(wǎng)絡(luò)傳輸,在某些基于文本的協(xié)議中,如果需要傳輸圖片或者文件等,我們知道圖片的存儲格式是二進制數(shù)據(jù),而非文本格式,我們必須將二進制的數(shù)據(jù)編碼成文本格式,這時候Base64就派上用場了。
另外,由于某些系統(tǒng)中只能使用ASCII字符。Base64就是用來將非ASCII字符的數(shù)據(jù)轉(zhuǎn)換成ASCII字符的一種方法。
Base64編碼之后往往比原始數(shù)據(jù)要大,所以它并沒有壓縮數(shù)據(jù)。
MD5是哈希算法的一種,可以將任意數(shù)據(jù)產(chǎn)生出一個128位(16字節(jié))的散列值,用于確保信息傳輸完整一致。
md5(hello world,32) = 5eb63bbbe01eeed093cb22bb8f5acdc3
我們常在注冊登錄模塊使用MD5,用戶密碼可以使用MD5加鹽的方式進行存儲。link
加密是什么?加密,指的是對數(shù)據(jù)進行轉(zhuǎn)換以后,數(shù)據(jù)變成了另一種格式,并且除了拿到解密方法的人,沒人能把數(shù)據(jù)轉(zhuǎn)換回來。
MD5是一種信息摘要算法,它是不可逆的,不可以解密。所以它只能算的上是一種單向加密算法。
Base64也不是加密算法,它是一種數(shù)據(jù)編碼方式,雖然是可逆的,但是它的編碼方式是公開的,無所謂加密。
Android加密多種多樣,常見的有MD5、RSA、AES、3DES四種。具體看這里