base58加密与其他base系列不同的是:
base64是每6bit位一个映射
base32是每5bit位一个映射
base16是每bit4位一个映射
而base58不是根据bit位而来 而是直接模58而映射的
其算法很简单 就是将字符流转成256进制的一个超大数 然后不断的模58
最后得到的结果逆序即是结果
例如字符串 “abc”
组合成256进制即为 256 * (256 * ord(‘a’) + ord(‘b’)) +ord(‘c’)
即 abc的十六进制分别为0x61 0x62 0x63 每次移八位 然后拼合
即最后得到的大整数为0x616263
代码如下:
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
char plainText[] = "abcdefg";
int i;
long long sum = 0;
int len