本文主要介绍了Base64、Base58编码与解码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目录
1. 常见的编码
base64:26个小写字母、26个大写字母、10个数字、/、+
base58(区块链):去掉6个容易混淆的,去掉0,大写的O、大写的I、小写的L、/、+/、+影响双击选择
2. go语言实现base64的编码与解码
2.1 Base64编码原理
Base64是一种编码方式,而并非加密,这种编码www.1818xinwen.com因为采用的64种基础字符(可见字符)所以可以全世界通用,大家都认可这一套编码规范
2.2 实现Base64的编码与解码
base64
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 |
|
3. go语言实现base58编码与解码
Base58编码表www.qmia.cn
3.1 base58的编码过程
- 将字符串的每个字节换算成ASCII,字符串实际上就是256进制的数字组合
- 将256进制的数字转换成10进制数字
- 将10进制数字转换成58进制数字(除以58,每次得到的余数就是对应的58进制,0用编码1来代表)
- 将58进制数字对照58编码表找到对应的字符
例子:
- Fan对应的换成ASCII:77 97 110
- 将77 97 110的256转换10进值:77256256 + 97*256 + 110 = 4612462
- 将4612462除以58,每次得到的余数就是对应www.jsr9.com的58进制,0用编码1来代表:
- 用余数的值去查表
3.2 base58编解码具体实现
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 64 65 66 67 68 69 70 71 72 |
|
4. 最后
到此这篇关于Go语言实现Base64、Base58编码与解码的文章