前段时间工作上需要对log进行加密解密,于是研究了下base64的原理。
base64的原理是把二进制数据转换成字符串的形式,分为3位一组,就相当于24 字节,base64是6位对应一个base64字符。
base64字符:
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
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
+ /
分别对应编号:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
例:字符串 ABC对应的二进制为
010000 01
0100 0010
01 000011
对应的base64二进制为:
010000 010100 001001 000011
对应的十进制为:
16 20 9 3
根据 16 20 9 3 对应的base64字符得到加密后的字符串:
QUJD
所以加密后的ABC等于UQJD