好的,那么假设您将在数据库中拥有密码和前一个字符串。你可以使用随机的java类。
生成一个初始字符串:
//initially
Random rand=new Random();
byte[4] a=new byte[4];
rand.nextBytes(a);
//a will contain the 32 bit string
//store a in database
//Next time
Random b=new Random();
//convert tehe previous value to long
long value=0;
for(int i=0;i<b.length;i++)
{
value+=(b[i] & 0xff) <<(8*i);
//System.out.println(Long.toString(value));
}
b.setSeed(value);
//using this seed value generate a new random number
b.nextbytes(b);
//store this b to data base
注意:您必须将数据库中的初始值存储在单独的列中。但是可以替换后续值。
要检索原始字符串,您必须查找数据库。从初始种子中,可以轻松找到其余值(通过调用 setSeed())。