百科狗-知识改变命运!
--

ASP.NET中几种加密方法

是丫丫呀8个月前 (04-23)阅读数 8#大学排名
文章标签几种

ASP.NET中几种加密方法

 MD 的全称是Message Digest Algorithm (信息 摘要算法) 在 年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l rivest开发出来 经md md 和md 发展而来 它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一 个任意长度的字节串变换成一定长的大整数) 不管是md md 还是md 它们都需要获得一个随机长度的信息并产生一个 位的信息摘要

 加密哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串 加密哈希函数有这样一个属性 在计算上不大可能找到散列为相同的值的两个 不同的输入 也就是说 两组数据的哈希值仅在对应的数据也匹配时才会匹配 数据的少量更改会在哈希值中产生不可预知的大量更改 所以你很难从加密后的文字 中找到蛛丝马迹

 SHA 的全称是Secure Hash Algorithm(安全哈希算法)

 MD 算法的哈希值大小为 位 而SHA 算法的哈希值大小为 位 两种算法都是不可逆

 虽说 年 月 日的美国加州圣巴巴拉的国际密码学会议(Crypto’ )上 来自中国山东大学的王小云教授做了破译MD HAVAL MD 和RIPEMD算法的报告 公布了MD系列算法的破解结果 宣告了固若金汤的世界通行密码标准MD5的堡垒轰然倒塌 引发了密码学界的轩然 *** 但 是我觉得对于我们做普通的软件来说 这个加密安全程度已经足够使用了

 我们平常用的最多的无非就是加密用户密码 把加密好的密码存储到数据库中 进行密码比较的时候 把用户输入的密码再进行加密 然后与数据库中的密文 进行比较 至于ASP net类中是如何实现加密算法的 这个我们不需要关心 会用就行了

 下面就是ASP NET中几种加密方法 加密算法有两种 也就是上面提到的MD 和SHA 这里我举的例子是以MD 为例 SHA 大致相同 只 是使用的类不一样

 MD 相关类

System Security Cryptography MD System Security Cryptography MD CryptoServiceProvider() System Web Security FormsAuthentication HashPasswordForStoringInConfigFile(strSource "MD ")

 SHA 相关类

System Security Cryptography SHA System Security Cryptography SHA CryptoServiceProvider() System Web Security FormsAuthentication HashPasswordForStoringInConfigFile(strSource "SHA ")

 方法如下 (用的vs )

/**//// /// 方法一:通过使用 new 运算符创建对象 /// /// 需要加密的明文 /// 返回 位加密结果 该结果取 位加密结果的第 位到 位 public string Get_MD _Method (string strSource) {//newSystem Security Cryptography MD md = new System Security Cryptography MD CryptoServiceProvider();//获取密文字节数组byte[] bytResult = md ComputeHash(System Text Encoding Default GetBytes(strSource));//转换成字符串 并取 到 位string strResult = BitConverter ToString(bytResult );//转换成字符串 位//string strResult = BitConverter ToString(bytResult);//BitConverter转换出来的字符串会在每个字符中间产生一个分隔符 需要去除掉strResult = strResult Replace(" " "");return strResult; } /**//// /// 方法二:通过调用特定加密算法的抽象类上的 Create 方法 创建实现特定加密算法的对象 /// /// 需要加密的明文 /// 返回 位加密结果 public string Get_MD _Method (string strSource) {string strResult = "";//CreateSystem Security Cryptography MD md = System Security Cryptography MD Create();//注意编码UTF UTF Unicode等的选择byte[] bytResult = md ComputeHash(System Text Encoding UTF GetBytes(strSource)); //字节类型的数组转换为字符串for (int i = ; i

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)