Base64編譯碼原理及AES加解密演算法的使用

2021-07-22 21:50:45 字數 1778 閱讀 7340

base64編譯碼

1英文本元=1位元組=8位

base64編碼原理:將要編碼的二進位制(字串、等都可以轉換成二進位制格式表示)把3個8位位元組以4個6位的位元組表示,然後把每個6位位元組都轉換成乙個單獨的數字並對映到base64碼表中的乙個字元。如果最後剩下的位元組不足3個,則在後面補0,補0轉換的字元用「=」表示,故編碼後輸出的字串末尾可能會有乙個或兩個「=」。

base64碼表如下:

base64編譯碼:

public class base 

public static string decode(string str) throws exception

}

呼叫:

string encode = null;

try catch (exception e1)

system.out.println("zyf encode:" + encode);

if (encode != null) catch (exception e)

}

輸出結果:

zyf encode:sgvsbg8gv29ybgq=

zyf decode:hello world

編碼過程:

binary  dec base64  

010010 18 s

000110 6 g

010101 21 v

101100 44 s

011011 27 b

000110 6 g

111100 60 8

100000 32 g

010101 29 d

110110 54 2

111101 61 9

110010 50 y

011011 27 b

000110 6 g

010000 16 q

aes加解密

public class aes 

public static string decrypt(string ssrc, string skey) throws exception

}

呼叫:

// key的長度必須是16位或24位或32位

string key = "1234567812345678";

string encrypt = null;

try catch (exception e)

system.out.println("zyf encrypt:" + encrypt);

if (encrypt != null) catch (exception e)

system.out.println("zyf decrypt:" + decrypt);

}

輸出結果:

zyf encrypt:r/pscgyws4qu7oclzcteobpokrkvkxkr8ss2h9eo3is=

zyf decrypt:key=name;value=zyf

為了防止反編譯key被破解,key值可以放到c**中。

base64編譯碼原理

base64 base64的編碼都是按字串長度,以每3個8bit的字元為一組,然後針對每組,首先獲取每個字元的ascii編碼,然後將ascii編碼轉換成8bit的二進位制,得到一組3 8 24bit的位元組 然後再將這24bit劃分為4個6bit的位元組,並在每個6bit的位元組前面都填兩個高位0,...

Base64編碼解碼原理

一.base64編碼由來 為什麼會有base64編碼呢?因為有些網路傳送渠道並不支援所有的位元組,例如傳統的郵件只支援可見字元的傳送,像ascii碼的控制字元就不能通過郵件傳送。這樣用途就受到了很大的限制,比如二進位製流的每個位元組不可能全部是可見字元,所以就傳送不了。最好的方法就是在不改變傳統協議...

編譯碼 關於base64編碼的原理及實現

自 base64 base64的編碼都是按字串長度,以每3個8bit的字元為一組,然後針對每組,首先獲取每個字元的ascii編碼,然後將ascii編碼轉換成8bit的二進位制,得到一組3 8 24bit的位元組 然後再將這24bit劃分為4個6bit的位元組,並在每個6bit的位元組前面都填兩個高位...