C# —— MD5编码

MD5:属于一种加密算法,单向不可逆加密。

1 对用户密码或者一些隐私的信息进行加密处理

2 对一段文字生产成信息摘要,这个摘要是具有唯一性的,可以作为数字的签名。

3 用于验证文件的有效性

4 在哈希函数计算散列值

先看看加密的基本概念:

"加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。

Base64加密方式:网络上最常见的用于传输8Bit字节码的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法。从二进制到字符的过程,base64是可逆的

关于MD5编码的实例:

一:封装一个方法紧接着在窗体界面进行调用

cs 复制代码
public static string MD5Test(string i1)
{
    // 1 创建MD5对象 c#提供了Cryptography类库中md5类生产md5对象
    // Security 安全
   MD5 md5 = System.Security.Cryptography.MD5.Create();

    // 2 使用md5对象对i1进行加密处理  编码之后的字节数组。
    byte[] bs = System.Text.Encoding.ASCII.GetBytes(i1);

    // 3 把字节数组通过md5进行加密ComputeHash
    // Compute 计算
    // Hash 哈希函数 
    // y = x +1  x=0
    byte[] hashS = md5.ComputeHash(bs);

    //4 把数组转成字符串
    StringBuilder s = new StringBuilder();//可变字符串
    for (int i = 0; i < hashS.Length; i++)
    {   //16进制0-15 ,0-9还是数字,
        //ToString("X2")
        //X代表是16进制,大写的X是代表大写16进制的
        //小写的x代表的小写的16进制
        //2  不足俩位的前面补0
        //例如0x0A,如果没有2. 输出结果是0xA
        s.Append(hashS[i].ToString("X2"));  //追加字符串 ,等同于+拼接字符串
    }
    return s.ToString();
}

二: 创建一个Form窗体 里面定义输入框及按钮

定义按钮的方法

private void button1_Click(object sender, EventArgs e)

{

this.label1.Text = string.Empty;

this.label1.Text = MyMD5.MD5Test(textBox1.Text);

}

三 运行结果如下

从前有一个程序员叫小明,看完博客总是不点赞,于是就直接就假期就直接结束了。从此以后他每天看博客都会点赞,结果假期延长了十天。所以 懂!!!!!!

相关推荐
Lyyaoo.1 小时前
【JAVA基础面经】JVM的内存模型
java·开发语言·jvm
杨凯凡1 小时前
【017】泛型与通配符:API 设计里怎么用省心
java·开发语言
2401_873479408 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
我爱cope8 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
rockey6278 小时前
AScript函数体系详解
c#·.net·script·eval·expression·function·动态脚本
菜鸟学Python8 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
浪浪小洋9 小时前
c++ qt课设定制
开发语言·c++
charlie1145141919 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
故事和你919 小时前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
程序猿编码10 小时前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核