如何将字符串转换为GUID,反之亦然

时间:2020-06-16 11:24:28

标签: python c# cryptography guid

我想将一个字符串(例如“ abcd123456”)转换为GUID,然后从该GUID中提取该GUID中的字符串,是否有任何过程可以执行? (如果示例使用python或c#,则将更加有用)

2 个答案:

答案 0 :(得分:1)

向导通常是32个字符的六进制十进制值。您可以通过一种方式对您的字符串进行哈希处理来创建Guid(例如以下example。但这将失去其含义,即它不可逆。

我认为您可能需要简单的对称加密方法。即使用一个密钥来加密和解密您的数据。请看下面的C#示例

https://docs.microsoft.com/en-us/dotnet/standard/security/encrypting-data

https://www.c-sharpcorner.com/article/encryption-and-decryption-using-a-symmetric-key-in-c-sharp/

答案 1 :(得分:0)

GUID是128位。您希望能够将GUID反向转换为原始字符串,因此需要使用128位分组密码。那就是AES。

输入您的初始字符串。根据需要添加加密填充,以使其最大为128位(16字节),并使用您选择的密钥进行加密。除非有理由,否则请使用PKCS#7填充。

要检索您的初始字符串,请使用相同的密钥解密,并删除填充(如果存在)。

您将无法对长度超过16个字节的字符串执行此操作,因为加密的字符串将无法放入单个GUID中。为此,您将需要多个GUID。