首页 > 语言 > 关键词  > ASP.NET最新资讯  > 正文

ASP.NET中MD5与SHA1加密的几种方法

2010-04-02 13:48 · 稿源:站长之家Chinaz.com

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

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

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

MD5 算法的哈希值大小为128位。而SHA1 算法的哈希值大小为160位。两种算法都是不可逆。

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

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

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

MD5 相关类:

System.Security.Cryptography.MD5

System.Security.Cryptography.MD5CryptoServiceProvider()

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "MD5")

SHA1相关类:

System.Security.Cryptography.SHA1

System.Security.Cryptography.SHA1CryptoServiceProvider()

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "SHA1")

方法如下:(用的vs2005)

1/**//// <summary>
2 /// 方法一:通过使用 new 运算符创建对象
3 /// </summary>
4 /// <param name="strSource">需要加密的明文</param>
5 /// <returns>返回16位加密结果,该结果取32位加密结果的第9位到25位</returns>
6 public string Get_MD5_Method1(string strSource)
7 {
8 //new
9  System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
10
11  //获取密文字节数组
12  byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strSource));
13
14  //转换成字符串,并取9到25位
15  string strResult = BitConverter.ToString(bytResult, 4, 8);
16  //转换成字符串,32位
17  //string strResult = BitConverter.ToString(bytResult);
18
19  //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉
20  strResult = strResult.Replace("-", "");
21  return strResult;
22 }
23
24 /**//// <summary>
25 /// 方法二:通过调用特定加密算法的抽象类上的 Create 方法,创建实现特定加密算法的对象。
26 /// </summary>
27 /// <param name="strSource">需要加密的明文</param>
28 /// <returns>返回32位加密结果</returns>
29 public string Get_MD5_Method2(string strSource)
30 {
31  string strResult = "";
32
33  //Create
34  System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
35
36  //注意编码UTF8、UTF7、Unicode等的选择
37  byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strSource));
38
39  //字节类型的数组转换为字符串
40  for (int i = 0; i < bytResult.Length; i++)
41  {
42   //16进制转换
43   strResult = strResult + bytResult[i].ToString("X");
44  }
45  return strResult;
46 }
47
48 /**//// <summary>
49 /// 方法三:直接使用HashPasswordForStoringInConfigFile生成
50 /// </summary>
51 /// <param name="strSource">需要加密的明文</param>
52 /// <returns>返回32位加密结果</returns>
53 public string Get_MD5_Method3(string strSource)
54 {
55  return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource, "MD5");
56 }

这些加密函数都是在服务器端执行,也就是说,当用户输入密码后,从客户端到服务器端传输时,用户的密码没有任何保护,很危险。银行的做法是在客户端安装ActiveX控件,在客户端就把一些重要信息进行加密,再发送。这个偶就不会拉,很希望能学习学习做这种ActiveX控件。

举报

  • 相关推荐
  • 妙手ERP荣膺TikTok Shop 2025年度H1优质招商服务商,携手共创跨境新未来!

    8月27日,TikTok Shop在杭州成功举办2025东南亚跨境生态服务商大会,以“生态共融·价值共生”为主题,汇聚平台业务负责人、跨境专家及近百家优秀服务商代表,共绘东南亚跨境生态发展蓝图。妙手ERP凭借专业的跨境电商店铺运营解决方案、技术实力及优质服务,荣获“TikTok Shop 2025年度H1优质招商服务商”奖项。TikTok在东南亚拥有3.25亿月活用户,用户月均使用时长超35小时,平台采用“内容+货架”双场域模式,将直播与短视频打造为核心消费场景。2025年上半年,TikTok Shop东南亚市场总GMV突破168.64亿美元,已逼近2024全年规模,其中泰国市场以54.19亿美元领跑。妙手ERP已全面接入TikTok Shop东南亚全站点,提供全流程跨境电商SaaS解决方案,全方位赋能卖家降本增效。未来,妙手将秉持初心,持续提升产品功能与服务,护航跨境卖家高效出海。

  • Shokz韶音牵手2025悉尼马拉松,开启大满贯赛事声动新旅程

    韶音成为2025悉尼马拉松官方耳机合作伙伴,携OpenRun Pro2等产品深度参与赛事。通过赛道体验、明星互动及技术展示,强化品牌与马拉松文化的情感联结。赛事吸引3.5万跑者,品牌代言人基普乔格获男子组第九。韶音持续布局全球顶级赛事,以专业开放式耳机守护奔跑初心,传递“运动为联结与超越”的理念。

  • 百度文心大模型X1.1正式发布:超越DeepSeek R1、打平GPT-5

    今天,在WAVE SUMMIT深度学习开发者大会2025上,百度文心大模型X1.1正式发布,在事实性、指令遵循、智能体等能力上均提升显著。 百度王海峰介绍,文心大模型X1是基于文心大模型4.5训练而来的深度思考模型,升级后的X1.1主要采用了迭代式混合强化学习训练框架。 一方面通过混合强化学习,同时提升通用任务和智能体任务的效果;另一方面通过自蒸馏数据的迭代式生产及训练

  • 平嵌冰箱TOP1品牌IFA再获大奖,为何还是卡萨帝?

    卡萨帝冰箱在嵌入式冰箱市场表现突出,2025年上半年以28.85%的份额位居第一。其原创平嵌冰箱在高端市场畅销,并在IFA2025展会上获“年度产品创新成果”奖。卡萨帝坚持高端创牌战略,产品设计注重细节与用户体验,解决了厨房空间与美学的矛盾。此外,卡萨帝主导制定了全球首个《平嵌电冰箱》标准,填补行业空白。未来,随着新品在欧洲上市,其高端引领优势将进一步扩大。

  • 中国品牌TOP1!海尔壁挂炉逆势增长43%

    2025年上半年中国壁挂炉行业整体销量下滑3.6%,市场趋冷。然而海尔壁挂炉逆势增长43.29%,凭借“双冷凝”节能科技获评“国际领先”技术,解决传统产品高能耗、水温不稳、预热时间长等痛点。其AI智能算法精准控温,配合水联网平台提供全流程解决方案,实现从产品制造到场景服务的跨越,为行业指明节能化、智能化、用户需求导向的发展方向。

  • Leader专注做爆款:小音浪F7热水器上市就成TOP1

    Leader统帅小音浪F7热水器凭借精准语音交互功能成为行业标杆。产品搭载离/在线双模式语音系统,支持5000条离线指令和10万条在线指令,语音识别准确率高达99%,能听懂多种方言。配合QQ音乐、喜马拉雅曲库,提供丰富音乐内容。同时采用原创小白瓶净肤科技,过滤杂质预防水垢,打造健康沐浴体验。该产品上市即成为爆款,销量突破京东电热水器首发纪录,实现站内行业销量销额TOP1,重新定义智能热水器标准。

  • 冰箱TOP1品类再升级!海尔AI全空间保鲜冰箱IFA再获认可

    海尔冰箱连续17年全球销量第一,2025年上半年国内市场份额达46.4%。其全空间保鲜冰箱连续三年实现“一个品类超越一个品牌”,单品类份额增长至20.13%。在IFA2025展会上,海尔AI全空间保鲜冰箱获“年度卓越创新成果奖”,通过AI保鲜、管理和交互提升高端形象。该产品搭载“磁控全空间保鲜科技”,首次将磁场保鲜技术应用于食材,实现“冻鱼60天,海里一样鲜”;并接入DeepSeek大模型,实现个性化饮食推荐和多模态人机交互。在欧洲市场,海尔冰箱连续8年多门市场TOP1,在意大利、英国、西班牙成为增长最快的高端品牌。全球市场份额达22.8%,牵头制定全球首个IEC冰箱保鲜标准,已被30多个国家采纳。

  • 2025选机指南:护膝静音跑步机TOP10品牌

    2025年居家健身更注重舒适体验,护膝和静音成为跑步机选购关键。文章基于用户实测和专业数据,整理出护膝静音双优的十大跑步机品牌指南。麦瑞克、Precor、LifeFitness等品牌凭借减震技术、智能课程和折叠设计脱颖而出,满足不同家庭需求,兼顾运动效果与使用体验。

  • AI能力获权威认可,易鑫荣登“2025 AI Era企业创新大奖TOP55”

    易鑫集团凭借突出的科技创新能力及多项AI技术落地成果,荣登“2025AI+Era企业创新大奖TOP55”榜单,成为榜单上唯一的汽车金融科技领域代表。该奖项由新智元发起,旨在评选AI领域具有卓越市场竞争力和创新力的标杆企业。易鑫自研的AI技术已全面应用于汽车金融全场景,显著提升服务效率与用户体验,并通过科技解决方案赋能海内外合作伙伴,展现出优秀的商业化落地与跨区域扩展能力。公司将持续推进AI创新与业务深度融合,助力合作伙伴和用户共享科技红利。

  • 易鑫入选“2025 AI Era企业创新大奖TOP55”,彰显AI驱动金融科技领先地位

    2025年9月,新智元发布“2025AI+企业创新大奖TOP55”榜单。易鑫集团凭借AI技术创新与规模化落地成果,成为唯一上榜的汽车金融科技企业。该评选聚焦AI创新标杆,涵盖技术实力、商业化能力等维度。易鑫在智能审批、客户服务等六大场景深度应用AI,显著提升运营效率与风控精度,并推出行业首个Agentic大模型,推动全链路自动化。公司将持续加大AI研发,构建更高效安全的数字金融服务体系。

今日大家都在搜的词: