c# - c#中sha256对字符串进行加密和解密
问题描述
下面是我使用 SHA256 加密字符串的代码。
SHA256CryptoServiceProvider x1 = new SHA256CryptoServiceProvider();
byte[] bs1 = System.Text.Encoding.UTF8.GetBytes(text);
bs1 = x1.ComputeHash(bs1);
System.Text.StringBuilder s1 = new System.Text.StringBuilder();
foreach (byte b in bs1)
{
s1.Append(b.ToString("x2").ToLower());
}
Console.WriteLine(s1.ToString());
Console.ReadKey();
任何人都可以帮助我使用 SHA256 解密生成的字符串吗?
解决方案
您实际上是在生成校验和,而不是加密该文本。这个关于将密码存储为哈希的答案应该有助于澄清这意味着什么。
您无法解密散列值,但可以将其与另一个已知值进行比较以查看它是否匹配。例如,该已知值可能是对密码进行散列处理的结果,或者是来自彩虹表的已知散列。
如果您真的想加密并能够解密数据,您或许应该考虑使用 AES 加密。
推荐阅读
- java - 制作生态系统时处理错误
- javascript - 如何通过 Puppeteer exposeFunction 使用 date.js?
- android - Flutter SliverAppBar 和 FlexibleSpaceBar 在向上滚动时呈现与 FlexibleSpaceBar 的标题参数不同的小部件
- javascript - 登录成功后在ajax登录表单中重定向
- c# - 在 Entity Framework Core 中启用迁移的问题
- reactjs - 如何将用户名和令牌从孩子发送给父母?
- javascript - 错误:使用反应时出现意外的严格模式保留字
- php - PhpStorm:不推荐使用类名调用
- mongodb - 按日期计算 mongoDB 中每个 userId 的图像并使用用户 emailId 映射响应
- rasa-nlu - 如何在 Rasa 的 nlu.md 中使用类似示例进行意图分类