博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#(.NET) HMAC SHA256实现
阅读量:4538 次
发布时间:2019-06-08

本文共 1502 字,大约阅读时间需要 5 分钟。

HMAC SHA256的实现比较简单,可以用多种语言实现,下面我用C#语言实现,一种结果是居于BASE64,另外一种是居于64位。

C# HMAC SHA256 (Base64)

 

using System.Security.Cryptography;namespace Test{  public class MyHmac  {    private string CreateToken(string message, string secret)    {      secret = secret ?? "";      var encoding = new System.Text.ASCIIEncoding();      byte[] keyByte = encoding.GetBytes(secret);      byte[] messageBytes = encoding.GetBytes(message);      using (var hmacsha256 = new HMACSHA256(keyByte))      {        byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);        return Convert.ToBase64String(hashmessage);      }    }  }}

C# HMAC SHA256 (64位原始)

public static string Encrypt(string message, string secret)            {                secret = secret ?? "";                var encoding = new System.Text.UTF8Encoding();                byte[] keyByte = encoding.GetBytes(secret);                byte[] messageBytes = encoding.GetBytes(message);                using (var hmacsha256 = new HMACSHA256(keyByte))                {                    byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);                    StringBuilder builder = new StringBuilder();                    for (int i = 0; i < hashmessage.Length; i++)                    {                        builder.Append(hashmessage[i].ToString("x2"));                    }                    return builder.ToString();                }            }

IOS客户端源码、API源码呈献给大家,完整的示例大家可以到AppStore下载安装“知音”

转载于:https://www.cnblogs.com/jonlan/p/10112455.html

你可能感兴趣的文章
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
查看>>
理工之 A+B Problem III
查看>>
SalesForce自定义按钮(javascript执行),点击按钮更新Filed
查看>>
软件工程第一次作业
查看>>
【Android 界面效果24】Intent和PendingIntent的区别
查看>>
node学习之搭建服务器并加装静态资源
查看>>
android 按menu键解锁功能的开关
查看>>
wpf 自定义窗口,最大化时覆盖任务栏解决方案
查看>>
Linux 下的dd命令使用详解
查看>>
POJ-1273 Drainage Ditches 最大流Dinic
查看>>
ASP.NET学习记录点滴
查看>>
uva 12097(二分)
查看>>
[Noip2016] 愤怒的小鸟
查看>>
Linux系统基础管理
查看>>
JAVA wait()和notifyAll()实现线程间通讯
查看>>
python全栈脱产第11天------装饰器
查看>>
koa2 从入门到进阶之路 (一)
查看>>
Java / Android 基于Http的多线程下载的实现
查看>>
求职历程-----我的简历
查看>>
[总结]数据结构(板子)
查看>>