我有一个文件的宁静服务,文件存储在mongodb中,文件的restful api是/ document /:id,最初:api中的id是使用mongodb的对象id,但是我想知道deos这种方法揭示了数据库ID,并暴露了潜在的威胁,我是否应该用假名id替换它。
如果需要将其替换为假名id,我想知道是否有一种算法方法让我来回转换对象id和假名id而不需要太多计算
答案 0 :(得分:1)
首先,ObjectID中没有“数据库ID”。
我假设您的关注来自于the spec将3字节机器标识符列为ObjectID的一部分这一事实。有几点需要注意:
考虑到上述情况,您可以看到担心暴露信息并不是真正的问题。
但是,即使是一个小样本,也可以相对容易地猜出有效的ObjectID,因此如果您想避免这种类型的流量到达您的应用程序,那么您可能想要使用其他东西(ObjectID的哈希可能是例如,一个好主意),但这将取决于您的要求。