首页 > 语言 > 关键词  > 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控件。

举报

  • 相关推荐
  • 真我GT8 Pro阿斯顿马丁F1限量版正式开售 售价5499元

    真我GT8 Pro阿斯顿马丁F1限量版于11月10日开售,售价5499元。配备16GB+1TB顶配内存,外观融入F1赛车元素,采用标志性青绿色和专属设计,包装盒含赛车主题配件。UI深度定制,拥有专属开机动画和相机水印。配置包括6.79英寸2K直屏、高通骁龙8至尊版平台、7000mAh电池,支持120W有线及50W无线闪充。影像系统搭载5000万像素主摄及2亿像素潜望长焦,支持多种胶片滤镜。具备满级防尘防水和超声波屏下指纹,综合性能强劲,专为科技与赛车爱好者打造跨界盛宴。

  • 双11京东:海尔麦浪舒适风空调双榜TOP1

    双11大促带动空调市场“冬季焕新”热潮。海尔空调表现抢眼:麦浪舒适风空调斩获京东“万单品质空调榜”与“舒适风趋势空调榜”双榜首;小红花净省电空调位列“健康趋势空调榜”第二。产品优势源于海尔开展的千人众测活动,通过17天真实用户体验,以“新品体验+真实测评”方式直观展示产品性能。当前空调消费趋势转向“实用型升级”,用户更关注舒适感、节能性与健康保障。海尔通过线下众测让用户亲身体验智能操控与舒适送风,以“眼见为实”互动提升产品可信度,为双11选购提供直观参考。

  • 佳能 PowerShotV1:双十一专为新手打造,告别复杂操作,畅享高清创作

    佳能PowerShot V1瞄准Vlog新手痛点,以6000元档位提供“开机即拍”的简易操作。其一体化变焦镜头覆盖17-52mm焦段,智能模式自动优化夜景、美食等场景画质,1.4英寸大底CMOS和5.7K超采样技术确保画质超越手机。相机配备侧翻屏、双重防抖及Vlog套装配件,解决传统相机上手难、配件杂的困扰,帮助新手轻松产出稳定高清内容,实现“开箱即拍”。

  • 别担心相机操作复杂!佳能PowerShotV1重新定义“新手护航”,开机即拍是基本操作

    佳能PowerShot V1专为Vlog新手设计,定位“新手神器”,价格亲民约6000元。搭载一体化超广角变焦镜头,覆盖17-52mm焦段,智能场景识别自动匹配最佳参数,实现“开机即拍”。画质超越手机,支持5.7K超采和4K视频,配备散热系统与五轴防抖。操作界面极简,侧翻屏多角度取景方便。双十一提供丰富配件套餐,性价比突出,是零基础创作者轻松开启高质量Vlog记录的首选。

  • 海尔空调双11多产品登TOP1!众测收官开启制热季

    双11期间,海尔空调多款产品表现强势,麦浪舒适风空调包揽京东“万单品质空调榜”与“舒适风趋势空调榜”双榜TOP1,并拿下天猫“空调新品榜”TOP1。这得益于持续20天的“千人众测”活动,吸引超14.9亿人次关注,通过真实体验验证产品优势。针对冬季取暖需求,海尔推出云溪空调超低温强热、暖阳Pro地暖中央空调等产品,精准解决用户痛点,展现从制冷到制热的全场景舒适体验升级,持续以创新产品力满足用户需求。

  • 千人众测收官!海尔空调双11多款产品登TOP1

    今年双11,海尔空调创新推出线下千人众测活动,用户通过足球射门、乒乓对打等趣味互动,零距离体验AI科技实力。活动于10月31日在青岛收官,多款产品成双11爆款,京东、天猫平台数据显示,海尔麦浪舒适风空调斩获“万单品质空调榜”及“舒适风趋势空调榜”双榜首,小红花净省电空调位列“健康风趋势空调榜”第二。体验先行策略获用户认可,海尔通过真实场景互动,让用户感受舒适送风、健康空气与节能特性,成为消费新趋势。

  • AI日报:美团LongCat-Flash-Omni发布;Qwen3-Max上线深度思考功能;百度“文心”5.0重磅回归

    本期AI日报聚焦多领域技术突破:美团发布全模态交互模型LongCat-Flash-Omni;阿里通义千问Qwen3-Max上线深度思考功能;百度文心5.0升级多模态生成能力;谷歌确认Gemini3年内发布并整合至苹果Siri;OpenAI向多国开放Sora2视频工具;云存储与AI开发工具持续优化,展现行业加速迭代态势。

  • 双十一 Vlog 相机新手小白选购秘籍:佳能 PowerShotV1 开启创作轻松路

    佳能PowerShot V1专为Vlog新手设计,定位“新手神器”。它配备1.4英寸CMOS传感器与DIGIC X处理器,支持5.7K超采样4K视频,画质清晰细腻。相机操作简单,配备直觉式拨杆和智能场景识别系统,可自动优化参数,新手也能一键拍出高质量画面。其一体化超广角变焦镜头覆盖常用焦段,自带光学防抖,并针对对焦模糊、画面抖动问题提供解决方案。双十一优惠套餐包含补光灯、三脚架等配件,满足新手全程拍摄需求,是入门Vlog创作的理想选择。

  • 海尔空调制冷季屡登第二,制热季多产品TOP1

    2025年空调行业在需求升级与技术迭代中迎来新格局。海尔空调凭借强劲产品力与服务力,实现从制冷季稳增到制热季领跑的持续增长:1-9月净增份额2.5%,成TOP3品牌中唯一正增长;双11期间多款产品登顶主流电商榜单。其增长逻辑在于以用户需求为核心,通过全民评测等创新互动将技术转化为可感知体验,在节能、低温制热等技术上深度匹配场景需求,形成产品力与用户信任的良性循环。

  • REDMI Turbo 5 1月登场:首发天玑8500

    博主爆料称,天玑8500芯片预计1月亮相,Redmi Turbo 5将首发搭载。该芯片采用台积电4nm工艺,配备8核A725全大核设计,主频达3.4GHz,GPU为Mali-G720,性能超越骁龙8 Gen3与8s Gen4,安兔兔跑分达220万。新机还将配备1.5K直屏与大容量电池,成为Redmi Turbo系列最强机型,值得期待。

今日大家都在搜的词: