.net中获取MD5码
来源:互联网 发布:明星网络暴力 编辑:程序博客网 时间:2024/05/18 16:14
什么是MD5码?
MD5中的MD代表Message Digest,就是信息摘要的意思,不过这个信息摘要不是信息内容的缩写,而是根据公开的MD5算法对原信息进行数学变换后得到的一个128位(bit)的特征码。其经MD2、MD3和MD4发展而来。
为什么要用MD5码。
在解决这个问题的时候,我们先看一下“小栗子”。
例如我有一段秘密的文字如:”My Secret Words”,经算法变换后得到MD5码(b9944e9367d2e40dd1f0c4040d4daaf7),把这个码告诉其他人,他们根据这个MD5码是没有系统的方法可以知道你原来的文字是什么的。
其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,例如”ABC” MD5(902fbdd2b1df0c4f70b4a5d23525e932)和”ABC “(多了一空格)MD5(12c774468f981a9487c30773d8093561)差别非常大,而且之间没有任何关系,也就是说产生的MD5码是不可预测的。
最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。
有什么特点。
- 不可逆
- 不可预测
- 高度离散型
- 有128位长
经常在什么地方用
正是因为上面的所述的MD5码的特性。所以人们才可以唯一地代表原信息的特征,通常用于密码的加密存储,数字签名,文件完整性验证等。
在.net平台如何用(C#为例)。
1、创建一个项目,创建项目是些简单的基本操作,这里就不做演示了。
2、创建好项目后,在窗体加入三个“textbox”控件,和一个“button”一个“textbox”做数据输入(txtdata),一个“textbox”做直接MD5加密后的MD5密文(txtdata_MD5),一个做调用方法加密后的密文(txtdata_function)。
3、双击button按钮,进入代码编辑界面。
4、首先引用using System.Security.Cryptography;
5、全部代码如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Security.Cryptography;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace test_MD5{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //获取原始字符串 byte[] result = Encoding.Default.GetBytes(txtdata.Text.Trim()); //实例MD5码对象 MD5 md5 = new MD5CryptoServiceProvider(); byte[] output = md5.ComputeHash(result); //txtdata_function.Text = BitConverter.ToString(output); //未去掉中间“-”的MD5码 txtdata_MD5.Text = BitConverter.ToString(output).Replace("-", "");//去掉中间“-”的MD5码 //#############################调用MD5转换方法################################# txtdata_function.Text = MD5(txtdata.Text.Trim()); } /// <summary> /// MD5码转换方法 /// </summary> /// <param name="encryptString"></param> /// <returns></returns> public static string MD5(string encryptString) { byte[] result = Encoding.Default.GetBytes(encryptString); MD5 md5 = new MD5CryptoServiceProvider(); byte[] output = md5.ComputeHash(result); string encryptResult = BitConverter.ToString(output).Replace("-", ""); return encryptResult; } }}
- .net中获取MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- .NET中获取字符串的MD5码
- SQL分页语句,.NET中获取字符串的MD5码
- .NET中获取字符串的MD5码(密码加密)
- ASP.NET中获取字符串的MD5码
- 【代码】.NET中获取字符串的MD5码
- LinkedList源码剖析
- phandle一种错误的用法及改正方法
- 关于TypeError : React object is undefined on createElement
- PHP 根据IP地址获取所在城市
- 计算1-n的阶乘值
- .net中获取MD5码
- stm32F0 16M时钟配置
- 排序之冒泡 选择 插入 快速(c++)
- 7.3 编写插件-世界插件
- android studio 中如何添加导入第三方库(静态库jar文件、动态库so文件)
- 学习18大经典数据挖掘算法
- 动态规划0-1背包(java语言)
- spring对jdbc支持
- Python中的抽象