可能大家写程序时曾经遇到一个问题,就是文档或会员的id不想让用户看到,需要使用一个算法进行加密,或者说像微博那样的短网址生成,用我构想的这种超进位算法完全可以达到这种目的,考虑到英文字母和数字加起来一共是62个,这里默认用62进位,62进位是什么意思呢?简单的说就是把十进制整数类型转化为62进制,使用这种方式,可以把整数压缩为如下长度:
1 - 61
2 - 3843
3 - 238327
4 - 14776335
5 - 916132831
6 - 56800235583
实际应用中,我们可以从3位超进制数开始使用,那么创建数据库时对自动递增id就从238327开始。
这个算法可以通过变换62进制数的位数数字标识或变换位数达到简单的加密效果
具体如下: