使用一个Guid生成另一个Guid,反之亦然

时间:2018-09-14 23:59:14

标签: c#

是否有一种方法/算法/方法可以使用我们的旧GUID(y)生成一个新的Guid(x),然后在需要时从x中重新获得y?

类似于下面的答案,但是它显示了一种方法,可以将旧的Guid(我可以将其视为字符串)转换为Guid,但没有回溯的方式。

https://stackoverflow.com/a/9386095/5887074

How can I generate a GUID for a string?

P.S .:这与任何安全性都不相关。这两个Guid仅用于从表中查找记录。如果需要,我们可以在此转换中将Guid转换为字符串。

1 个答案:

答案 0 :(得分:2)

有成千上万种方法:guid为128位,因此您可以翻转一位,这样就很容易来回翻译。或者,您可以对42做模,并使其看起来像是不可预测的那样。或者,您可以反转位的顺序,对所有位进行“非”运算或按某种预定义的模式重新排列位。

但是我怀疑您有一个未定义的用例。请进一步说明您要解决的问题。您的请求听起来有些危险,因为它听起来好像您想在看似无关的实体之间启用某种跟踪。如果涉及到某些安全问题,那么无论是明文(翻译前指导)还是密码(翻译后指导)都是公开的,您很可能会出错。也许简单的AES加密就足以作为转换功能,但是我认为您需要详细说明问题才能获得有用的答案。