.net中获取MD5码
什么是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码相关推荐
- 从 sourcemap 中获取源码
使用 paazmaya/shuji: Reverse engineering JavaScript and CSS sources from sourcemaps 可以从 sourcemap 中获取源 ...
- android开发获取imei码,Android中获取IMEI码的方法
我们在开发项目的时候,通常要获取手机的IMEI码,这是开发的必备需求,接下来,爱站技术频道小编就告诉大家Android中获取IMEI码的方法,希望本文的介绍能提高大家的水平. 核心代码:Imei = ...
- android代码 IMEI,Android_Android中获取IMEI码的方法,核心代码:Imei = ((TelephonyManager) - phpStudy...
Android中获取IMEI码的方法 核心代码:Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId ...
- android获取imei兼容_Android中获取IMEI码的方法
公共请求头 所有HTTP请求中,都包含如下公共请求头(HTTP Header): 名称 类型 是否必需 描述 Accept String 是 接受的返回类型,目前只支持JSON:application ...
- 小程序中获取太阳码携带的参数
需求:扫太阳码进入指定页面并获取太阳码所携带的参数 1.开发过程中 在微信开发者工具中模拟传参并调试: //扫描太阳码进入指定页面的onLoad中获取携带参数if(options.scene) {le ...
- php从内存中获取源码_【PHP7源码分析】PHP内存管理
作者: 顺风车运营研发团队 李乐 第一章 从操作系统内存管理说起 程序是代码和数据的集合,进程是运行着的程序:操作系统需要为进程分配内存:进程运行完毕需要释放内存:内存管理就是内存的分配和释放: 1. ...
- php从内存中获取源码_PHP源码分析之变量的存储过程分解
PHP代码如下: $php_var = 1; 对应C的代码是: zval* c_var; //定义PHP变量指针 MAKE_STD_ZVAL(c_var); //初始化PHP变量 ZVAL_L ...
- 用python 实现从fasta文件中获取登记码
fasta_file = open('SwissProt.fasta', 'r') ac_list = [] for line in fasta_file:if line[0] == '>':f ...
- .NET中获取字符串的MD5码
① 导入命名空间 using System.Web.Security;② 获取MD5码:string Password = FormsAuthentication.HashPasswordForSto ...
- 如何用Python和hashlib实现文件MD5码的批量存储
目录 简介: 源代码: 源代码说明: 效果如下所示: 简介: 可以考虑以下几个可能的应用: 如果你需要对文件进行校验或验证,你可以使用MD5码来检查文件是否被篡改或损坏. 如果你需要对文件进行分类或去 ...
最新文章
- 永远不要在 Mysql 中使用 “utf8”
- 看一遍就理解,图解单链表反转
- 【面试题】CookieSession
- python单选按钮重置_python – Tkinter单选按钮初始化错误
- python leetcode_leetcode 介绍和 python 数据结构与算法学习资料
- abapdata定义方法_ABAP中用函数定义后台作业的一个程序
- POJ 1716 Integer Intervals 差分约束
- TouchJSON的简单使用
- Git:本地Git仓库连接码云并新建分支提交
- mysql 超级管理员权限_取得超级管理员权限
- 计算机鼠标游戏教学法,练习使用鼠标教案
- 二、Win10如何解决svchost一直占用网速和内存?
- java 省市联动_Java 地区字典之省市区三级联动 (一)
- 大众点评评论标签替换文字问题
- ORACLE LPAD()函数
- uni-app中如何引入uview-ui?
- 2012浙大计算机考研分数线,2012浙江大学考研分数线
- oracle 创建数据库
- 学生管理系统V1.0
- vue首次加载生命周期