一个非常简单的问题:
我正在做一件简单的事情。我有几个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[]
对于那个特定的字符串。您可以使用GetString
on Encoding 将其转换回字符串:
var originalString = System.Text.Encoding.UTF8.GetString(bytes);
如果您尝试以加密方式保护字符串,则可以使用对称加密算法,例如 AES罗伯特·哈维 https://stackoverflow.com/users/102937/robert-harvey评论中指出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)