.NET中比较常用的两款密码加密方法
  N4bG8qiTuUl0 2023年11月09日 132 0

一、首先我们来看一下常用的几种密码攻击方式:

  1. 暴力破解:按照一定的顺序一个一个的去试
  2. 字典攻击:把常用的密码做成字典,破解时先看字典里是否存在,有效加快破解速度。
  3. 查表法:使用一个大型字典,把每个p和对应的q都记录下来,按q做一下索引,直接查找匹配。
  4. 彩虹表 :对于HASH的传统做法是把H(X)的所有输出穷举,查找H(X[y])H§,得出PX[y]。而彩虹表则是使用散列链的方式进行。

二、简单的介绍第一种密码加密方式---MD5加密

  1. MD5的全称是Message-Digest algorithm 5(信息-摘要算法)
  2. 在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。
  3. MD5具有很好的安全性(它具有不可逆的特征,加过密的密文经过解密后和加密前的相同的可能性极小)

MD5加密方法使用:

///MD5加密        public static string Md5Encoding(string passText)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] fromData = System.Text.Encoding.UTF8.GetBytes(passText);
            byte[] targetData = md5.ComputeHash(fromData);
            //加密后的字符串            string byteStr = "";
            for (int i = 0; i < targetData.Length; i++)
            {
                byteStr += targetData[i].ToString("x2");
            }
            return byteStr;
        }

在你使用的地方应用MD5加密的方法:Md5Encoding(里面是你存的密码文本)。

三、简单的介绍第二种密码加密方式---Hash(哈希)加密

  1. HASH就是把一系列不定长2进制输出为一个定长的2进制。
  2. HASH值是不可逆的,不存在破解不破解的问题。
  3. 一般是用来验证一段信息有没被篡改过或者就是保存密码的HASH值用于日后验证又防止别人查看这个记录窃取密码。

Hash加密方法使用:

public static string HashEncoding(string passText)
        {
            byte[] Value;
            UnicodeEncoding Code = new UnicodeEncoding();
            byte[] Message = Code.GetBytes(passText);
            SHA512Managed Arithmetic = new SHA512Managed();
            Value = Arithmetic.ComputeHash(passText);
            passText= "";
            foreach (byte o in Value)
            {
                passText+= (int)o + "O";
            }
            return passText;
        }

.NET中比较常用的两款密码加密方法_.NET

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月09日 0

暂无评论

推荐阅读
  2fqsT8Yu1xAt   7天前   36   0   0 .NET
N4bG8qiTuUl0