gpt4 book ai didi

java - 如何使用户ID不易被猜到?

转载 作者:行者123 更新时间:2023-12-01 19:04:29 24 4
gpt4 key购买 nike

我可以将用户添加到房间,但用户的编号很容易猜到。我可以轻松添加用户且 ID 号不易被猜到吗?

实体是

@Entity public class EntityUser {

@PrimaryKey(autoGenerate = true)
long userId;
String userName;
}

道是

@Dao
public interface DaoUser {

@Insert
long insert(EntityUser entityUser);
}

数据库是

@Database(entities = {EntityUser.class}, version = 1, exportSchema = false)
public abstract class UserDatabase extends RoomDatabase {

abstract DaoUser daoUser();

}

我用

    userDatabase = Room.databaseBuilder(this,UserDatabase.class,"user.sqlite")
.allowMainThreadQueries()
.build();

EntityUser user1 = new EntityUser();
user1.userName = "Pandas";
long user1id = userDatabase.daoUser().insert(user1);
user1.userName = "Ellies";
long user2id = userDatabase.daoUser().insert(user1);

我得到 1 然后 2。

我没有尝试自动生成,但出现了唯一约束错误。

最佳答案

您可以简单地使用 UUID。

@Entity public class EntityUser {
@PrimaryKey(autoGenerate = true)
long userId;
String objectId;
String userName;
}

然后当你生成一个对象时,你可以这样做:

EntityUser user1 = new EntityUser();
user1.userName = "Pandas";
user1.objectId = UUID.randomUUID().toString();

关于java - 如何使用户ID不易被猜到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59585392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com