根据唯一id生成分享码

2 篇文章 0 订阅

标题根据唯一id生成分享码

#include <math.h>
#include <string>

using namespace std;
const string share_code_62 = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";

string create_share_code(uint64_t id)
{
	string share_code = "";
	while (id >= 62)
	{
		share_code = share_code_62[id % 62] + share_code;
		id = id / 62;
	}
	if (id >= 0)
	{
		share_code = share_code_62[id] + share_code;
	}
	return share_code;
}

uint64_t decode_share_code(string share_code)
{
	uint64_t id = 0;
	uint16_t len = share_code.length();
	for (int i = len; i > 0; i--)
	{
		id += share_code_62.find(share_code[i - 1]) * uint64_t(powl(62, len - i));
	}
	return id;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值