我正在设计一个应用程序,用户可以在Parse.com上的后端保存数据。但是,我希望将数据加密为隐私政策的一部分。所以说用户有一个消息字符串为" Hello World"。我将其加密为哈希并将其上传到Parse Object。但是,当用户需要它时,我该如何解密它呢? 加密代码:
public static string getHashSha256(string text)
{
byte[] bytes = Encoding.UTF8.GetBytes(text);
SHA256Managed hashstring = new SHA256Managed();
byte[] hash = hashstring.ComputeHash(bytes);
string hashString = string.Empty;
foreach (byte x in hash)
{
hashString += String.Format("{0:x2}", x);
}
return hashString;
}
高度赞赏其他可能实现相同目的的方法。感谢
答案 0 :(得分:4)
哈希函数的目的是使用一个简单/快速的函数来计算字符串的哈希值,但是很难从hash --> string
开始。
您不需要SHA256,您需要某种真正的加密/解密,例如AES。
答案 1 :(得分:0)
散列是一种方式,就像密码一样,你从用户那里获得密码,哈希并检查已经保存的哈希值。
加密可以解密。它们是两回事。
尝试使用AES进行加密,如果您使用的是.NET,则有AESManaged和AES Cryptoservice提供程序。
对于政府。安装需要FIPS符合您的算法。在这种情况下,这是cryptoservive提供者。请检查您的要求。
答案 2 :(得分:0)
SHA256是这样做的错误方法。
如果你想要一个对称算法,你有相同的加密和解密密钥,你可以看看:
对于非对称算法,您可以使用不同的加密和解密密钥,您可以查看RSA
如果您需要一个例子,请让我/我们知道