C# Winform教程(一):MD5加密

1、介绍

在C#中,MD5(Message Digest Algorithm 5)是一种常用的哈希函数,用于将任意长度的数据转换为固定长度的哈希值(通常是128位)。MD5广泛用于校验数据完整性、密码存储等领域。

2、示例

创建MD5加密方法:GetMD5

public static string GetMD5(string str){//创建MD5对象MD5 md5 = MD5.Create();//开始加密,需要将字符串转换成字节数组byte[] buffer = Encoding.GetEncoding("GBK").GetBytes(str);//返回一个加密好的字节数组byte[] bufferMD5 = md5.ComputeHash(buffer);//将返回的字节数组转换成字符串#region 字节数组转换成字符串的方法//字节数组变成字符串:1\将字节数组中每个元素按照指定的编码格式解析成字符串//                     2\直接将数组toString()//                      3\将字节数组中的每一个元素toString()#endregion//我们使用的是第三种string str2 = "";for (int i = 0; i < bufferMD5.Length; i++){str2 += bufferMD5[i].ToString("x2");}return str2;}

主函数Main调用函数

 static void Main(string[] args){//202cb962ac59075b964b07152d234b70(16进制的)  123//3244185981728979115075721453575112(10进制的) str2 += bufferMD5[i].ToString();//202CB962AC5975B964B7152D234B70   str2 += bufferMD5[i].ToString("x");//202cb962ac59075b964b07152d234b70 str2 += bufferMD5[i].ToString("x2");加上x2直接转换成16进制的//ToString()里面的参数就是一个格式的问题,例如下面的加上c就是转换成金钱的格式string s = GetMD5("123");Console.WriteLine(s);//double n = 123.456;//Console.WriteLine(n.ToString("c"));Console.ReadKey();}

运行结果
在这里插入图片描述

注意:
在这个例子中,GetMD5方法接受一个字符串作为输入,将其转换为字节数组,然后使用MD5类计算MD5哈希值。最后,将哈希值以十六进制字符串的形式返回。

需要注意的是,MD5虽然在过去被广泛使用,但由于其容易受到碰撞攻击(collision attacks)的影响,现在已经不再被推荐用于安全性要求较高的场景。在安全领域,推荐使用更强大的哈希函数,如SHA-256SHA-3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/301035.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++红黑树

C红黑树 一.红黑树的概念和性质1.红黑树的概念和性质2.AVL树和红黑树的区别 二.我们要实现的大致框架1.红黑树节点的定义2.为什么新节点默认是红色?1.共识2.新节点是黑色的坏处3.新节点是红色的好处 三.红黑树的插入1.插入逻辑跟BST相同的那一部分2.分类讨论插入逻辑1.新插入节…

Pandas教程(一)—— 数据结构

前言 Pandas是贯穿数据分析的主要工具之一&#xff0c;它经常和其他数值计算工具一起使用&#xff08;例如&#xff1a;Numpy、SciPy和matplotlib&#xff09;。尽管pandas采用了很多NumPy的代码风格&#xff0c;但二者最大的区别是&#xff1a;pandas主要用于处理表格型或异质…

iPayLinks观察:从9月中国游戏厂商出海收入排行榜看游戏出海趋势

data.ai发布9月中国游戏厂商出海收入排行榜。分析指出&#xff0c;中国手游发行商正加大对日本市场投入。 日本市场有何特点&#xff1f;开发者在开拓日本市场时需要注意什么&#xff1f;本期iPayLinks观察&#xff0c;跟小贝一起走进日本游戏市场。 据data.ai数据&#xff0c…

Jenkins的邮箱配置和插件下载

启动&#xff1a;java -jar jenkins.war 一定在jenkins.war的目录下 进入cmd命令 浏览器输入网址&#xff1a;http://localhost:8080/login?from%2F 账号&#xff1a;admin 密码&#xff1a;123456 安装插件&#xff1a; 插件更新后重启下 配置邮箱账号&#xff1a; 3…

支持多医院使用的云HIS医院信息化管理系统源码 SaaS模式

一、什么是HIS系统 HIS系统&#xff08;Hospital InformationSystem&#xff09;是医院信息化建设的核心组成部分&#xff0c;它是为了管理和运营医院而设计和开发的一套综合性的信息系统。HIS系统通过整合医院各个部门和业务流程的数据和信息&#xff0c;实现了医院内部的信息…

Docker 安装 Nacos

文章目录 拉取镜像查看镜像前置工作数据库Java环境创建挂载目录改配置文件 运行访问 拉取镜像 docker pull nacos/nacos-server查看镜像 docker images 前置工作 数据库 运行命令前需要有 db-config 这个数据库。 数据库 /** Copyright 1999-2018 Alibaba Group Holding …

图像大变身:三款抠图换背景软件横评

在图像编辑和设计中&#xff0c;抠图是一项常见而关键的任务。它涉及将对象从其背景中精确分离&#xff0c;以便在不同的背景上自由放置或合成。为了使抠图工作更加高效和精确&#xff0c;那么怎么抠图换背景&#xff1f;以下是三个优秀的抠图软件&#xff0c;它们提供了各种工…

c语言:计算阶乘的和|练习题

一、题目 输入一个数n&#xff0c;计算1&#xff01;2&#xff01;……n&#xff01;的和 如图&#xff1a; 二、思路分析 设置两个函数 1、一个函数求阶乘 2、一个函数求多个数相加的总和 3、把求阶乘的函数&#xff0c;嵌套在求相加总和的函数里面 三、代码截图【带注释】 四…

SQL Server脚本根据开始时间和结束时间计算时分秒

废话不多说&#xff0c;直接上代码&#xff1a; SELECT下载时间,生产结束时间, CASE WHEN DATEDIFF(second, 下载时间, 生产结束时间) > 3600 THENCAST((DATEDIFF(second, 下载时间, 生产结束时间) / 3600) as varchar) 小时 CAST(((DATEDIFF(second, 下载时间, 生产结…

Neo4j 5.15 windows安装

1&#xff0c;什么是图数据库&#xff1f; 着社交、电商、金融、互联网那个等快速发展&#xff0c;现实社会织起了一张庞大复杂的关系网&#xff0c;传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系呈集合 数级增长&#xff0c;急需一种支持海量复杂数据关系…

Pytorch深度强化学习2-1:基于价值的强化学习——DQN算法

目录 0 专栏介绍1 基于价值的强化学习2 深度Q网络与Q-learning3 DQN原理分析4 DQN训练实例 0 专栏介绍 本专栏重点介绍强化学习技术的数学原理&#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现&#xff0c;帮助读者理解并快速上手开发。同时&#xff0c;辅…

Java 将PDF 转为图片 工具 【Free Spire.PDF for Java】(免费版)

Java 将PDF 转为图片 使用工具&#xff1a;Free Spire.PDF for Java&#xff08;免费版&#xff09; Jar文件获取及导入&#xff1a; 方法1&#xff1a;通过官网下载jar文件包。下载后&#xff0c;解压文件&#xff0c;并将lib文件夹下的Spire.Pdf.jar文件导入Java程序。 方…