c# - 下面单向加密的解密方法
问题描述
我有一种加密密码的方法,我认为它是单向加密,是否可以通过其他方法解密?
string HashPass(string pass)
{
var bytes = System.Text.Encoding.Unicode.GetBytes(pass);
var inArray = System.Security.Cryptography.HashAlgorithm.Create("MD5")?.ComputeHash(bytes);
return Convert.ToBase64String(inArray);
}
解决方案
哈希是一种单向函数,它将多个值映射到一个结果,这意味着您无法找到给定结果的原始值。
但是,存储原始值和哈希结果的数据库确实存在,因此 MD5 哈希对安全性非常不利。例如,如果您给我哈希e10adc3949ba59abbe56e057f20f883e,我可以搜索原始值,如果幸运的话,我会发现123456是该哈希结果的可能答案。
请务必为您的客户提供更好的安全性,请按照本指南正确散列密码。
推荐阅读
- azure - 我们是否应该在 Azure App Services 上为 ASP.NET Core 2.2+ Web 应用程序使用 AspNetCoreHostingModel?
- javascript - 使用 localStorage 将列表传递给其他 .js 文件时遇到问题
- accordion - 手风琴脚本不适用于 barba.js
- audio - 如何解决 ffmpeg 卡在“打开输入文件”的问题
- excel - VBA 新手,正在尝试创建条件(如果或则)代码
- python - Python如何获取变量名的值?
- macos - brew 安装 gcc 找不到 brew 安装 gmp
- python - 从字符串中删除特定的括号
- nrwl-nx - Nx.dev 究竟是什么?
- php - 如何从数组值搜索到mysql