我的公司使用的程序是由第三方编写的,不会公开API。该供应商没有计划添加一个。该程序使用SQL Server作为后端数据存储。能够将记录添加到数据库以便集成到新应用程序中是非常有益的。
此数据库中的每个表都有一个名为Id的主键列,它是一个nvarchar(12)数据类型,并且通过使用SQL Server Profiler,我确定此值是由源代码生成的,而不是由SQL Server内部的任何内容生成的。从我试过的一些免费反编译器来看,似乎很多软件都是用VB6编写的。似乎主键与时间有些相关,我这样说是因为Id列上的订单总是产生与CreatedOn日期相同的订单。
以下是主键值的一些示例:
5RN0PZ36TWM
5RN0Q036UAZ
5RN0Q136V20
5RN0Q136VF3
5RN0Q236VS6
5RN0Q236W5O
5RN0Q336WIR
5RN0Q336WW9
5RN0Q436X9S
5RN0Q436XMU
5RN0Q536Y0D
5RN0Q536YDV
它们始终是字母数字,'A'大于'9'。此外,Id值通常介于9到12个字符之间。
基本上,我想知道是否有人在VB6中看到过会返回这种格式的值,或者VB6中使用的另一个唯一密钥生成器。我正在使用C#来编写我的程序,所以如果有另一种方法在C#中复制这种类型的值,那么也很高兴知道。