我希望允许用户使用相同的用户名,但在#XXXX形式中有一些额外的ID,其中X是一个数字(例如,BestUserName#3421),类似于在Battle.net上完成的方式.
没有两个用户应该具有相同的用户名和#id组合.
此外,我不希望我的用户能够轻松预测其他用户的额外ID.所以,我不能只从BestUserName#0000开始,然后是BestUserName#0001,BestUserName#0002,...).
因此,我想为每个用户名生成一个从0000到9999之间的所有数字到0000到9999之间的每个数字的双射f(n).f必须让你很难猜出你知道什么是f(n-1) F(N).此外,对于所有用户名,f(n)必须不相同.
然后第一个用户将是BestUserName#f(0000),第二个用户将是BestUserName #f(0001),依此类推,我的用户将无法猜出彼此的#id.
我怎么能用Java做到这一点?