我反向设计了Windows UuidCreate()方法程序集,并猜测它与MS用于SQL Server的算法相同。无论如何,它是一个递归算法,它自动修改256字节数组,因为它使用相同的256字节数组来生成16个GUID字节。实际上有8个这样的256字节数组,它们循环通过。生成8个GUID后,它们循环回到第一个。它们基本上只是对字节进行求和,一次又向一个字节添加一个字节,在它们去的时候对总和做一个基数256,然后用该数组中该偏移处的字节值交换当前字节,然后求和那两个值jut交换然后索引回到该数组以获取下一个GUID字节。我几个月来一直在思考这个问题,并且无法解决这个问题。任何人都知道任何这样的算法背后的任何群论可能能够压缩这样的版本4 GUID吗?