新闻中心
.NET怎么实现MD5和SHA256加密
.NET中实现MD5和SHA256加密可通过内置类完成,先将字符串转为字节数组,再调用相应哈希算法计算并转换为十六进制字符串,推荐SHA256用于高安全场景,且哈希不可逆。

在 .NET 中实现 MD5 和 SHA256 加密非常简单,.NET 提供了内置的加密类来完成这些操作。下面介绍如何使用 C# 实现字符串的 MD5 和 SHA256 哈希加密。
MD5 加密实现
MD5 是一种广泛使用的哈希算法,虽然安全性较低,不推荐用于敏感数据保护,但在校验数据完整性等场景仍有使用。
使用 System.Security.Cryptography.MD5 类可以生成 MD5 哈希值:
- 将字符串转换为字节数组
- 调用 MD5.ComputeHash() 方法计算哈希
- 将哈希字节数组转换为十六进制字符串
示例代码:
using System;
using System.Security.Cryptography;
using System.Text;
<p>string input = "Hello, World!";
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(inputBytes);</p><pre class="brush:php;toolbar:false;">string hashString = BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
Console.WriteLine("MD5: " + hashString);}
SHA256 加密实现
SHA256 是更安全的哈希算法,推荐用于密码存储、数字签名等需要高安全性的场景。
使用 System.Security.Cryptography.SHA256 类进行哈希计算:
CA.LA
第一款时尚产品在线设计平台,服装设计系统
94
查看详情
- 同样先将字符串编码为字节
- 调用 SHA256.ComputeHash() 获取哈希结果
- 格式化输出为小写十六进制字符串
示例代码:
using System;
using System.Security.Cryptography;
using System.Text;
<p>string input = "Hello, World!";
using (SHA256 sha256 = SHA256.Create())
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = sha256.ComputeHash(inputBytes);</p><pre class="brush:php;toolbar:false;">StringBuilder sb = new StringBuilder();
foreach (byte b in hashBytes)
{
sb.Append(b.ToString
("x2"));
}
Console.WriteLine("SHA256: " + sb.ToString());}
封装成通用方法
为了方便重复使用,可以将两个算法封装成静态方法:
public static class HashHelper
{
public static string GetMD5(string text)
{
using (MD5 md5 = MD5.Create())
{
byte[] bytes = Encoding.UTF8.GetBytes(text);
byte[] hash = md5.ComputeHash(bytes);
return BitConverter.ToString(hash).Replace("-", "").ToLower();
}
}
<pre class="brush:php;toolbar:false;">public static string GetSHA256(string text)
{
using (SHA256 sha256 = SHA256.Create())
{
byte[] bytes = Encoding.UTF8.GetBytes(text);
byte[] hash = sha256.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
foreach (byte b in hash)
sb.Append(b.ToString("x2"));
return sb.ToString();
}
}}
调用方式:
Console.WriteLine(HashHelper.GetMD5("test"));
Console.WriteLine(HashHelper.GetSHA256("test"));
基本上就这些,.NET 的加密类设计简洁,使用起来很方便。注意哈希是单向过程,不能解密。如果需要加密解密功能,应使用对称或非对称加密算法如 AES 或 RSA。
以上就是.NET怎么实现MD5和SHA256加密的详细内容,更多请关注其它相关文章!
# 但在
# 望江网站建设哪好
# 青海seo优化供应商
# 浙江高端网站建设费用多少
# SEO学习壁纸简约可爱
# 长春网站建设加盟
# seo的各种手法
# 外贸网站建设费用多少
# 泰州seo站内优化
# 宁海facebook营销推广
# 吉林企业网站推广费用
# 解决问题
# 中文网
# 相关文章
# 编码
# 是一种
# 不安全
# 先将
# 如何使用
# 转换为
# crypto
# .net
# 格式化输出
# 敏感数据
# c#
# 字节
# app
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
如何提高微信支付的安全性_微信支付安全防护与设置建议
顺丰快递查询系统 官方正版查询入口
如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力
UC浏览器网页版登录入口官网 电脑版网址入口
从J*aScript对象中精确提取指定属性的教程
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
解决Python logging 中 datefmt 导致时间戳固定不变的问题
J*aScript中localStorage数据的获取、清洗与格式化教程
解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常
曝R星经典之作开发图 设计简陋但信息密集!
Go Martini框架:动态服务解码后的图片内容
微博网页版直接访问 微博网页版账号管理快速入口
照顾宝贝2小游戏免费秒玩入口
QQ邮箱网页版入口 QQ邮箱官方邮箱登录通道
LINUX怎么设置定时任务_LINUX crontab配置教程
uc浏览器网页版入口 uc浏览器网页版最新网址
Win11怎么开启高性能模式_Windows 11电源计划优化设置
LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置
优化Django表单:提交验证失败后保留用户输入
深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现
汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口
2025俄罗斯Yandex最新入口 官方网站地址及浏览器下载指南
UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】
Steam官网入口直达 Steam注册及登录步骤
Go语言JSON解析深度指南:动态访问与结构体映射实践
腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址
必由学登录入口 必由学官方网站在线访问链接
淘宝网网页版登录入口 淘宝官方网页版快捷登录
海棠账号登录入口_登录海棠账户同步阅读记录
QQ邮箱网页版入口登录 QQ邮箱在线邮箱官方通道
React/Next.js中实现列表项的动态选择与移动
微信网页版官方快速登录入口 微信网页版网页版账号直达
Mudbox图层蒙版怎么用_Mudbox图层蒙版数字雕刻应用技巧
服务端验证_j*ascript输入检查
小米14应用无法联网原因分析_小米14网络权限修复
QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口
一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
探索高级语言到原生C/C++的转译:挑战与内存管理策略
sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程
composer的"require-dev"部分是用来做什么的?
高德地图怎么看全景照片_高德地图全景照片浏览教程
痛风发作了怎么办? 快速止痛和后期饮食调理
Python自定义类排序:解决lambda键值访问TypeError的实践指南
Golang如何使用net/url解析URL_Golang URL解析与处理方法
优化HTML表单样式:解决输入框焦点跳动与元素间距问题
修复二维数组索引越界异常:一维循环到二维坐标的正确映射
Angular中父组件异步更新子组件复选框状态的实践指南
深入理解J*a合成构造器:何时以及为何阻止其生成
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南


2025-11-21
浏览次数:次
返回列表
("x2"));
}
Console.WriteLine("SHA256: " + sb.ToString());