我正在尝试通过PHP解决以下问题。目标是基于整数种子生成一个唯一的6个字符的字符串,其中包含预定义范围内的字符。第二个要求是该字符串必须看起来是随机的(因此,如果代码1为100000,则不接受代码2为100001,3 100002)。
字符范围如下:
大写字母A-Z,不包括:B,I,O,S和Z
数字0-9,不包括:0,1,2,5,8
如果我没记错的话,总共有26个字符。我的第一个想法是从10进制转换为24进制,从数字7962624开始。所以做7962624 + 种子,然后将该数字编码为24进制。
这给我带来了0-N的字符。如果我以以下方式替换结果字符串,则满足第一个条件:
所以现在,我的代码大致如下:
我的问题是:各位大师们,我该如何编写一个行为一致(即给定整数的返回字符串始终相同)且符合上述两个要求的方法?我已经花了两天时间,除了将700,000,000个代码存入数据库并随机检索它们之外,我已经没有更多的想法了。 - Stephen
字符范围如下:
大写字母A-Z,不包括:B,I,O,S和Z
数字0-9,不包括:0,1,2,5,8
如果我没记错的话,总共有26个字符。我的第一个想法是从10进制转换为24进制,从数字7962624开始。所以做7962624 + 种子,然后将该数字编码为24进制。
这给我带来了0-N的字符。如果我以以下方式替换结果字符串,则满足第一个条件:
B=P, I=Q, 0=R, 1=T, 2=U, 5=V, 8=W
所以现在,我的代码大致如下:
1=TRRRR, 2=TRRRT, 3=TRRRU
我的问题是:各位大师们,我该如何编写一个行为一致(即给定整数的返回字符串始终相同)且符合上述两个要求的方法?我已经花了两天时间,除了将700,000,000个代码存入数据库并随机检索它们之外,我已经没有更多的想法了。 - Stephen