尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

C# hash签名,哈希签名Sha256

C# hash签名,哈希签名Sha256
📅 发布时间:2026/7/24 4:30:43
usingSystem.Security.Cryptography;usingSystem.Text;namespaceWebApi_PaddleOCRSharp{publicclassSha256Helper{/// <summary>/// 【无密钥,纯哈希】计算字符串 SHA256 哈希,返回小写十六进制,/// 默认编码:UTF8/// </summary>/// <param name="input">原始字符串</param>/// <returns>64位小写sha256</returns>/// <exception cref="ArgumentNullException">输入为空</exception>publicstaticstringComputeSha256Lower(stringinput){if(input==null)thrownewArgumentNullException(nameof(input));byte[]rawBytes=Encoding.UTF8.GetBytes(input);byte[]hashBytes=ComputeSha256Bytes(rawBytes);returnBitConverter.ToString(hashBytes).Replace("-","").ToLowerInvariant();}/// <summary>/// 【无密钥,纯哈希】计算字符串 SHA256 哈希,返回大写十六进制/// 默认编码:UTF8,/// </summary>publicstaticstringComputeSha256Upper(stringinput){if(input==null)thrownewArgumentNullException(nameof(input));byte[]rawBytes=Encoding.UTF8.GetBytes(input);byte[]hashBytes=ComputeSha256Bytes(rawBytes);returnBitConverter.ToString(hashBytes).Replace("-","");}/// <summary>/// 对字节数组计算SHA256,返回哈希字节数组/// </summary>publicstaticbyte[]ComputeSha256Bytes(byte[]data){if(data==null)thrownewArgumentNullException(nameof(data));// SHA256.Create() 优先使用操作系统硬件加速实现using(SHA256sha256=SHA256.Create()){returnsha256.ComputeHash(data);}}/// <summary>///【无密钥,纯哈希】 重载:自定义编码计算字符串SHA256(小写)/// </summary>publicstaticstringComputeSha256Lower(stringinput,Encodingencoding){if(input==null)thrownewArgumentNullException(nameof(input));if(encoding==null)thrownewArgumentNullException(nameof(encoding));byte[]rawBytes=encoding.GetBytes(input);byte[]hashBytes=ComputeSha256Bytes(rawBytes);returnBitConverter.ToString(hashBytes).Replace("-","").ToLowerInvariant();}/// <summary>/// 【有密钥】HMACSHA256 签名(推荐接口验签!相比普通SHA256更安全)/// </summary>/// <param name="source">待签原文</param>/// <param name="secretKey">密钥</param>/// <param name="upper">大小写</param>/// <returns>签名串</returns>publicstaticstringHmacSha256Sign(stringsource,stringsecretKey,boolupper=false){if(string.IsNullOrEmpty(source))thrownewArgumentNullException(nameof(source));if(string.IsNullOrEmpty(secretKey))thrownewArgumentNullException(nameof(secretKey));byte[]keyBytes=Encoding.UTF8.GetBytes(secretKey);byte[]dataBytes=Encoding.UTF8.GetBytes(source);usingvarhmac=newHMACSHA256(keyBytes);byte[]hashBytes=hmac.ComputeHash(dataBytes);StringBuildersb=newStringBuilder();foreach(varbinhashBytes){sb.Append(b.ToString(upper?"X2":"x2"));}returnsb.ToString();}}}

相关新闻

  • 多模态RAG技术:让混合文档实现智能检索与生成
  • 腾讯WorkBuddy:免安装AI助手与多模型调度解析
  • 企业AI架构:MCP+LLM+Agent技术融合实践

最新新闻

  • Buzzy 新手快速上手指南
  • C++实现非局部均值去噪:从原理到工程优化
  • 2026年7月亲身到店探访杭州亨得利名表服务中心|服务热线及门店地址 - 亨得利官方博客
  • 前端工程化实践:从零构建响应式生日纪念页面
  • TI bq76PL455A-Q1 BMS AFE评估板硬件连接与GUI软件配置全攻略
  • 切换LLM API网关时,最容易踩的三个细节坑

日新闻

  • 武汉卡地亚LOVE钻戒与钻石项链回收变现攻略|多家门店行情参考 - 大牌深度测评
  • 2026年无锡地区健康管理如何考量?四家机构业务体系概览
  • 2026图片去水印软件哪个好用 手机电脑免费工具盘点 - 免费软件工具方法教程

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号