对 table 使用随机 ID 而不是 PRIMARY KEY AUTOINCREMENT,以避免客户端知道记录数

Use a random-looking ID for a table instead of PRIMARY KEY AUTOINCREMENT, to avoid the client knowing the number of records

我有一个 Sqlite3 table,它将有数千到数百万条记录。

对于每个网站用户,都会创建一个 ID 并将其保存在数据库中。这个 ID 被发送到客户端,然后客户端将一些数据连同这个 ID 一起发送回服务器(使用 XHRHttpRequest)。

更一般地说,如何处理给客户端 ID 的问题,最好是不增加 1、2、3、4、5,...,但仍然有快速查找服务器端?

我想如果你能加密一个 id 那么你就可以解密到...

UPDATE FROM mytable ... WHERE id = decrypt(h, salt);

但最好解决随机id。

我在我的应用程序中创建了一个 UUID 并发送到数据库。那么ID列不是AUTOINCREMENT.

许多语言都支持 UUID。 (C,Java,PHP) 如果你有更多的appserver或dbserver,UUID是唯一的。