欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Go语言实现Base64、Base58编码与解码

程序员文章站 2022-03-03 12:17:18
目录2.1 base64编码原理2.2 实现base64的编码与解码1. 常见的编码base64:26个小写字母、26个大写字母、10个数字、/、+base58(区块链):去掉6个容易混淆的,去掉0,...

1. 常见的编码

base64:26个小写字母、26个大写字母、10个数字、/、+
base58(区块链):去掉6个容易混淆的,去掉0,大写的o、大写的i、小写的l、/、+/、+影响双击选择

2. go语言实现base64的编码与解码

2.1 base64编码原理

base64是一种编码方式,而并非加密,这种编码因为采用的64种基础字符(可见字符)所以可以全世界通用,大家都认可这一套编码规范

2.2 实现base64的编码与解码

base64

3. go语言实现base58编码与解码

base58编码表

Go语言实现Base64、Base58编码与解码

3.1 base58的编码过程

Go语言实现Base64、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,每次得到的余数就是对应的58进制,0用编码1来代表:
  • 用余数的值去查表

3.2 base58编解码具体实现

4. 最后

到此这篇关于go语言实现base64、base58编码与解码的文章就介绍到这了,更多相关go语言base64、base58编码与解码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!