JS base64加密解密
Base64编码,是JS程序开发中经常使用到的编码方法,常用于字符串加密、解密。
Base64编码是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!
Base64编码能用于加密解密的原理
首先,base64编码的原理是先将源文件以标准字节(byte)为单位转化成二进制,一个字节占8个位(bit),如“ABC”的二进制是01000001、01000010、01000011,这样源文件就形成了每8个bit一组的一串二进制,然后将这些二进制串以base64特有的规则(每个字节占6个位)再转化成base64格式的字符(如下图),编码完成。解码就是这个过程反过来。
Base64 编码表
Value Char 对应关系:
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /
"ABC"的转化为base64字符的逻辑如下:
A B C
ASCII十进制 65 66 67
8bit/byte 01000001 01000010 01000011
6bit/byte 010000 010100 001001 000011
base64十进制 16 20 9 3
base64字符 Q U J D
这样,"ABC"三个标准字符就转化成了"QUJD"四个base64字符。
JS封装好的base64加解密模块代码
就是上面这段代码,短短几十行代码,不是很复杂,这段对外提供了2个方法,一个是加密方法encode(str),一个是解密方法decode(str),调用就可以实现加密解密了。 调用示例:
输出:
anNoYW1hbi5jb23vvIzkuJPms6jkuo5KU+S7o+eggea3t+a3huWKoOWvhg==
jshaman.com,专注于JS代码混淆加密
用base64实现加密解密,就是这样简单!