简单的MD5加密显示过期是设么鬼?

Squall001 2016-10-06 05:40:15
可以用,但是不知道为什么编译器会显示错误


下面是我的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.Security.Cryptography;
using System.Web.Security;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
byte[] result = Encoding.Default.GetBytes(textBox1.Text.Trim());


MD5 md5 = new MD5CryptoServiceProvider();

byte[] output = md5.ComputeHash(result);

//textBox2.Text = BitConverter.ToString(output);//.Replace("-", "");
textBox2.Text = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(result.ToString(), "MD5").ToLower();

}
}
}

...全文
247 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Squall001 2016-10-07
  • 打赏
  • 举报
回复
谢谢各位 我改用以下方法了,不过感觉也没什么不同啊

            byte[] result = Encoding.Default.GetBytes(textBox1.Text.Trim());
            
            
            MD5 md5 = new MD5CryptoServiceProvider();

            byte[] output = md5.ComputeHash(result);

            textBox2.Text = BitConverter.ToString(output).Replace("-", "").ToLower(); 
我是飞云 2016-10-06
  • 打赏
  • 举报
回复
2楼正解 至于说MD5是不是过期,应该没必要讨论,你注释的那个方法是可以的。
string str = BitConverter.ToString(output);
textBox2.Text = str.Replace("-", "").ToLower().Substring(0, 32);
wdh123love 2016-10-06
  • 打赏
  • 举报
回复
该方法已经过时了,本来应该废弃,但是为了兼容以前的版本,或者照顾到一些老的用户,还是保留了下来,且仍可以使用,但最好用替代的函数取代。
aSalt 2016-10-06
  • 打赏
  • 举报
回复
1966 年,人们发现了 MD5 的设计缺陷,并建议改用 SHA-1。2004 年,人们又发现了 MD5 的其他缺陷,因此认为这种算法已不再安全。另外,SHA-1 算法也暴露出不安全的方面,现在已建议改用 SHA-2。

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧