我的团队正在开发一个带有遗留数据库的应用程序,该数据库使用两个不同的值作为 Group 对象的唯一标识符:Id
是一个自动递增的 Identity 列,其值由数据库在插入时确定。 GroupCode
由插入后的应用程序确定,并且是"Group" + theGroup.Id
。
我们需要的是一种生成 GroupCode 的算法:
- 是独一无二的。
- 用户正确输入相当容易。
- 黑客很难猜到。
- 要么在插入时由数据库创建,要么在插入之前由应用程序创建(即不依赖于标识列)。
现有解决方案满足前两个标准,但不满足后两个标准。有谁知道满足上述所有标准的好解决方案?
还有一点需要注意:即使此代码由用户在外部使用,并且即使 Id 可以为其他表提供更好的标识符以将其外键链接到,GroupCode 也被其他表用于引用特定组。
提前致谢。