Java中的随机GUID(不同格式)

时间:2012-03-20 15:45:49

标签: java random guid uuid

我使用的其中一个组件需要将XML提供给它。组件提供程序未提供任何文档或XML规范。我正在尝试使用组件中的示例XML通过反复试验来生成XML。

这就是故事。这是我的问题。 在XML中,他们使用了一些f_key = "b3f39bb9-3f8c-453a-bdb4-2486a887e39f-0000a008:000001e8"

Java给了我这个:UUID.randomUUID().toString() 它以这种格式生成随机字符串:"22572e59-f7dc-404a-9c0c-78161e3a4df7"

任何线索,组件提供的f_key中的“0000a008:000001e8”意味着什么[最多5个随机字符串匹配。第6和第7块是组件提供的随机字符串中的额外部分]?什么样的UUID生成器会产生什么?它看起来很熟悉吗?

2 个答案:

答案 0 :(得分:0)

根据此代码

Regex guidRegEx = new Regex(@"^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$");
guidRegEx.IsMatch("b3f39bb9-3f8c-453a-bdb4-2486a887e39f-0000a008:000001e8");

这不是一个有效的guid,它最终是一个有效的guid。我猜他们最后加了一个时间戳。我曾经看过过去的时间戳设备。

但这是最好的猜测。

答案 1 :(得分:0)

我认为它只是提供商生成的某种密钥。虽然我不知道密钥生成的规则(即特定于应用程序),但我将十六进制数字a008 1e8转换为十进制视图,并发现它们之间的比率为83:40968/488=83。因此,可能尝试创建UUID并添加由十六进制格式的2个数字组成的后缀,以便它们的比例为83.