将 int 从 c# gethashcode() 转换回字符串?

2023-12-27

一个非常简单的问题:

我正在做一件简单的事情。我有几个string like:

 string A = "usd";

我想获取 C# 中的哈希码:

 int audusdReqId = Convert.ToInt32("usd".GetHashCode());

现在我怎样才能转换32位整数audusdReqId回到string "usd"?


你不能。哈希码不包含将其转换回字符串的所有必要信息。更重要的是,你应该小心你使用的东西GetHashCode for. 本文 http://blogs.msdn.com/b/ericlippert/archive/2011/02/28/guidelines-and-rules-for-gethashcode.aspx解释你应该用它做什么。你甚至不能保证GetHashCode在不同的环境中会返回相同的东西。所以你应该not正在使用GetHashCode用于任何加密目的。

如果您尝试创建字符串的二进制表示形式,您可以使用

var bytes = System.Text.Encoding.UTF8.GetBytes(someString);

这会给你一个byte[]对于那个特定的字符串。您可以使用GetStringon Encoding 将其转换回字符串:

var originalString = System.Text.Encoding.UTF8.GetString(bytes);

如果您尝试以加密方式保护字符串,则可以使用对称加密算法,例如 AES罗伯特·哈维 https://stackoverflow.com/users/102937/robert-harvey评论中指出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 int 从 c# gethashcode() 转换回字符串? 的相关文章

随机推荐