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-256或SHA-3。
相关文章:
C# Winform教程(一):MD5加密
1、介绍 在C#中,MD5(Message Digest Algorithm 5)是一种常用的哈希函数,用于将任意长度的数据转换为固定长度的哈希值(通常是128位)。MD5广泛用于校验数据完整性、密码存储等领域。 2、示例 创建MD5加密…...
Mongodb使用指定索引删除数据
回顾Mongodb删除语法 db.collection.deleteMany(<filter>,{writeConcern: <document>,collation: <document>,hint: <document|string>} ) 删除语法中,除了指定过滤器外,还可以指定写入策略,字符序和使用的索引。 …...
虾皮怎么选品:虾皮(Shopee)跨境电商业务成功的关键步骤
在虾皮(Shopee)平台上进行跨境电商业务,选品是至关重要的一环。有效的选品策略可以帮助卖家更好地了解市场需求,提高销售业绩和客户满意度。以下是一些成功的选品策略,可以帮助卖家在虾皮平台上取得更好的业务成绩。 先…...
QML —— 使用Qt虚拟键盘示例(附完整源码)
示例效果 使用"虚拟键盘"注意 (例子的Qt版本:5.12.4) 注意一: /* 必须在main.cpp开始处加入如下代码,否则无法使用"虚拟键盘" */ qputenv(“QT_IM_MODULE”,QByteArray(“qtvirtualkeybo…...
Nacos 持久化及集群的搭建【微服务】
文章目录 一、统一配置管理二、微服务配置拉取三、配置热更新四、多环境共享配置五、Nacos 集群搭建1. 集群结构2. 初始化数据库3. 搭建集群 六、Nginx 反向代理七、启动项目测试 一、统一配置管理 案例练习的时候我们只有两个微服务,管理起来非常简单,但…...
win10下vscode+cmake编译C代码操作详解
0 工具准备 1.Visual Studio Code 1.85.1 2.cmake 3.24.01 前言 当我们只有一个.c文件时直接使用vscodeCode Runner插件即可完成编译,如果我们的工程很复杂包含多个.c文件时建议使用cmake来生成对应的make,指导编译器完成编译,否则会提示各…...
网络安全红队常用的攻击方法及路径
一、信息收集 收集的内容包括目标系统的组织架构、IT资产、敏感信息泄露、供应商信息等各个方面,通过对收集的信息进行梳理,定位到安全薄弱点,从而实施下一步的攻击行为。 域名收集 1.备案查询 天眼查爱企查官方ICP备案查询 通过以上三个…...
【基于openGauss2.1.0企业版安装X-Tuner参数调优工具】
【基于openGauss2.1.0企业版安装X-Tuner参数调优工具】 一、前提条件二、安装X-Tuner 2.1.0: 一、前提条件 已安装了openGauss2.1.0企业版 二、安装X-Tuner 2.1.0: 以root用户登录到服务器 安装以下依赖: yum -y groupinstall "Development tools" yum…...
SpringBoot+Vue轻松实现考试管理系统
简介 本系统基于 Spring Boot 搭建的方便易用、高颜值的教学管理平台,提供多租户、权限管理、考试、练习、在线学习等功能。主要功能为在线考试、练习、刷题,在线学习。课程内容支持图文、视频,考试类型支持考试、练习、问卷。 源码下载 网…...
详解Keras:keras.preprocessing.image
keras.preprocessing.image Keras 库中的一个模块,用于处理和增强图像数据,它提供了一些实用的函数,如图像的加载、预处理、增强等。 常用函数 1、load_img 用于加载图像文件,并返回一个 NumPy 数组表示该图像 示例 from ker…...
来瞅瞅Java 11都有啥新特性
第1章:引言 大家好,我是小黑!今天小黑要和咱们聊聊Java 11,这个在Java发展史上占有一席之地的版本。说起Java,咱们都知道,它是一门历史悠久又持续发展的编程语言。Java不仅因其“一次编写,到处…...
Copilot在IDEA中的应用:提升编码效率的得力助手
Copilot在IDEA中的应用:提升编码效率的得力助手 前言: 欢迎来到本篇博客,今天我们将深入探讨 GitHub Copilot 在 IntelliJ IDEA 中的应用。GitHub Copilot 是一款由 GitHub 与 OpenAI 共同开发的人工智能代码生成工具,它能够根据上下文提示…...
【Python】Excel不同sheet另存为不同CSV
我有一个excel,内有不同sheet,现在批量生成不通csv文件,并以sheet名命名,或根据sheet名调整命名。 # 读取新的Excel文件 df pd.read_excel(rD:\itm\data.xlsx, sheet_nameNone)# 遍历每个sheet,将其另存为不同的CSV文…...
软件测试|深入学习 Docker Logs
简介 Docker 是一种流行的容器化技术,它能够帮助用户将应用程序及其依赖项打包成一个可移植的容器。Docker logs 是 Docker 提供的用于管理容器日志的命令,本文将深入学习 Docker logs 的使用和管理,帮助用户更好地监测和解决容器问题。 Do…...
试除法求约数算法总结
知识概览 试除法求一个数的约数的时间复杂度是。 例题展示 题目链接 活动 - AcWing 系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/871/ 题解 用试除法求约数,…...
[JavaWeb玩耍日记] 数据库
mysql版本:5.7.24 使用Navicat for MySQL辅助学习(2015年版),这个在粘贴本博客的块引用内容时会有额外的不可见内容导致sql运行出问题,不过有影响的地方笔者已排除 目录 一.数据库创建 二.使用数据库与创建表 三.表内列的数据类型 四.修…...
rime中州韵小狼毫 inputShow lua Translator 输入字符透传翻译器
在 rime中州韵小狼毫 help lua Translator 中我们分享了如何使用 lua 脚本定义一个 translator,并以 五笔・拼音 为例引用了该 translator,并且达到了预期的效果。 今天,我们继续通过 lua 脚本为 rime中州韵/小狼毫 输入法打造一个 translat…...
【RockChip | RV1126】学习与开发
【RockChip | RV1126】学习与开发 文章目录 【RockChip | RV1126】学习与开发1. 资料1. 资料 您好,这是关于A191型RV1126的资料包,请您及时接收哦~链接: https://pan.baidu.com/s/1FXWVxa27Q78nI78d2QKlBQ?pwd=j7mk 提取码: j7mk 若您在开发过程中遇到技术问题,需要帮助时:…...
copilot在pycharm的应用
Copilot在PyCharm中的应用 一、引言 随着人工智能技术的飞速发展,AI在编程领域的应用也越来越广泛。Copilot,作为一款由微软开发的AI编程助手,已经引起了广大开发者的关注。它利用深度学习技术,通过分析大量开源代码,…...
HDU 2841:Visible Trees ← 容斥原理
【题目来源】http://acm.hdu.edu.cn/showproblem.php?pid2841【题目描述】 There are many trees forming a m * n grid, the grid starts from (1,1). Farmer Sherlock is standing at (0,0) point. He wonders how many trees he can see. If two trees and Sherlock are in…...
Loop:重新定义macOS窗口管理的艺术与科学
Loop:重新定义macOS窗口管理的艺术与科学 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 在数字工作空间中,窗口管理不再是简单的排列组合,而是一种提升专注力与创造力的空间艺术。Loop…...
手把手教你用KVM在openEuler 22.03 LTS上安装华为FusionCompute 6.5.1 CNA(含VNC避坑指南)
深度实战:在openEuler 22.03 LTS上通过KVM部署FusionCompute CNA全流程解析 当企业需要构建私有云环境时,华为FusionCompute作为成熟的虚拟化平台常被列为首选方案。本文将完整呈现如何在openEuler 22.03 LTS系统中,通过KVM虚拟化技术实现Fus…...
从ResNet到mHC:DeepSeek重构残差连接,额外开销仅6.7%,附复现代码
2015年,由微软亚洲研究院的何恺明团队提出ResNet,ResNet引入残差连接的概念,用以解决深层神经网络训练中的梯度消失/爆炸和网络退化问题,使得训练极深的网络成为可能。 ��1��&#x…...
零基础吃透静态链表(数组模拟链表):从原理到代码,新手全疑问一次性解决
本文面向刚入门数据结构、已掌握动态链表但看不懂静态链表的新手,全程从已知到未知,循序渐进拆解所有核心知识点、代码逻辑和新手高频误区,看完就能彻底吃透静态链表。目录什么是静态链表?和动态链表的核心区别静态链表的核心规则…...
Unix哲学:一切皆文件与网络通信的统一抽象
目录 Unix哲学:一切皆文件与网络通信的统一抽象 1. Unix哲学的核心:“一切皆文件” 2. 统一接口:Unix I/O操作 3. 文件描述符:操作的“取货单” 4. 网络通信:套接字作为特殊文件 5. 总结:抽象的力量 前…...
5个步骤让你的魔兽争霸3在现代电脑上完美运行:WarcraftHelper终极优化指南
5个步骤让你的魔兽争霸3在现代电脑上完美运行:WarcraftHelper终极优化指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为魔…...
避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程
避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程 当你在ROS系统中整合多个Livox雷达时,突然遭遇[WARN] Lookup would require extrapolation into the past的警告信息,Rviz中点云显示异常或TF树断裂&…...
告别手写C库!用Buddy-MLIR一键编译PyTorch模型到Gemmini加速器(实战避坑)
告别手写C库!用Buddy-MLIR一键编译PyTorch模型到Gemmini加速器(实战避坑) 当算法工程师面对定制硬件加速器时,最头疼的莫过于如何将训练好的模型高效部署到专用计算架构上。传统手工编写C库的方法不仅耗时费力,更成为阻…...
STM32 HAL库里Systick中断优先级设成0x0F,你的定时器还准吗?
STM32 HAL库中Systick中断优先级设置对定时精度的影响与优化实践 在嵌入式开发领域,定时精度往往直接影响着系统性能与稳定性。许多开发者在使用STM32 HAL库时,可能从未深入思考过Systick中断优先级设置对系统定时精度的影响。本文将揭示一个容易被忽视但…...
Auto-Photoshop-StableDiffusion-Plugin中文适配终极指南:让AI绘画更懂中文用户
Auto-Photoshop-StableDiffusion-Plugin中文适配终极指南:让AI绘画更懂中文用户 【免费下载链接】Auto-Photoshop-StableDiffusion-Plugin A user-friendly plug-in that makes it easy to generate stable diffusion images inside Photoshop using either Automat…...
