什么是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码相关推荐

  1. 从 sourcemap 中获取源码

    使用 paazmaya/shuji: Reverse engineering JavaScript and CSS sources from sourcemaps 可以从 sourcemap 中获取源 ...

  2. android开发获取imei码,Android中获取IMEI码的方法

    我们在开发项目的时候,通常要获取手机的IMEI码,这是开发的必备需求,接下来,爱站技术频道小编就告诉大家Android中获取IMEI码的方法,希望本文的介绍能提高大家的水平. 核心代码:Imei = ...

  3. android代码 IMEI,Android_Android中获取IMEI码的方法,核心代码:Imei = ((TelephonyManager) - phpStudy...

    Android中获取IMEI码的方法 核心代码:Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId ...

  4. android获取imei兼容_Android中获取IMEI码的方法

    公共请求头 所有HTTP请求中,都包含如下公共请求头(HTTP Header): 名称 类型 是否必需 描述 Accept String 是 接受的返回类型,目前只支持JSON:application ...

  5. 小程序中获取太阳码携带的参数

    需求:扫太阳码进入指定页面并获取太阳码所携带的参数 1.开发过程中 在微信开发者工具中模拟传参并调试: //扫描太阳码进入指定页面的onLoad中获取携带参数if(options.scene) {le ...

  6. php从内存中获取源码_【PHP7源码分析】PHP内存管理

    作者: 顺风车运营研发团队 李乐 第一章 从操作系统内存管理说起 程序是代码和数据的集合,进程是运行着的程序:操作系统需要为进程分配内存:进程运行完毕需要释放内存:内存管理就是内存的分配和释放: 1. ...

  7. php从内存中获取源码_PHP源码分析之变量的存储过程分解

    PHP代码如下: $php_var = 1; 对应C的代码是: zval* c_var;    //定义PHP变量指针 MAKE_STD_ZVAL(c_var);  //初始化PHP变量 ZVAL_L ...

  8. 用python 实现从fasta文件中获取登记码

    fasta_file = open('SwissProt.fasta', 'r') ac_list = [] for line in fasta_file:if line[0] == '>':f ...

  9. .NET中获取字符串的MD5码

    ① 导入命名空间 using System.Web.Security;② 获取MD5码:string Password = FormsAuthentication.HashPasswordForSto ...

  10. 如何用Python和hashlib实现文件MD5码的批量存储

    目录 简介: 源代码: 源代码说明: 效果如下所示: 简介: 可以考虑以下几个可能的应用: 如果你需要对文件进行校验或验证,你可以使用MD5码来检查文件是否被篡改或损坏. 如果你需要对文件进行分类或去 ...

最新文章

  1. 永远不要在 Mysql 中使用 “utf8”
  2. 看一遍就理解,图解单链表反转
  3. 【面试题】CookieSession
  4. python单选按钮重置_python – Tkinter单选按钮初始化错误
  5. python leetcode_leetcode 介绍和 python 数据结构与算法学习资料
  6. abapdata定义方法_ABAP中用函数定义后台作业的一个程序
  7. POJ 1716 Integer Intervals 差分约束
  8. TouchJSON的简单使用
  9. Git:本地Git仓库连接码云并新建分支提交
  10. mysql 超级管理员权限_取得超级管理员权限
  11. 计算机鼠标游戏教学法,练习使用鼠标教案
  12. 二、Win10如何解决svchost一直占用网速和内存?
  13. java 省市联动_Java 地区字典之省市区三级联动 (一)
  14. 大众点评评论标签替换文字问题
  15. ORACLE LPAD()函数
  16. uni-app中如何引入uview-ui?
  17. 2012浙大计算机考研分数线,2012浙江大学考研分数线
  18. oracle 创建数据库
  19. 学生管理系统V1.0
  20. vue首次加载生命周期

热门文章

  1. 使用cs与msf进行内网横向移动
  2. 在北邮 bbs上看到一个理解指针,指针数组不错的题目
  3. 区分英文句号和数字中的正则表达式
  4. 一步步教你搭建自己的云服务器,(鉴于网上一大堆文章,看这一篇就够了)
  5. C++(4)——对称/旋转
  6. hdu 4498 自适应simpson
  7. css文字多余显示,css设置文字多余部分显示省略号
  8. 加解密QQ旋风和迅雷链接地址
  9. 如何将mp3合并在一起?
  10. 手把手教你从零开始腾讯云服务器部署