ASP.NET C# 实现钉钉签名算法
2024-09-30 15:51:18
在 https://open-doc.dingtalk.com/microapp/faquestions/hxs5v9 钉钉给出了JAVA/PHP算法,下面是C#算法
using System.Security.Cryptography
using System.Text;
private string hash_hmac2(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);
}
}
下面是调用代码:
login timespan=1546084445901;
string appsec = "testappSecret"; sign= hash_hmac2(timespan.ToString(),appsec);
//此时sign为 HCbG3xNE3vzhO+u7qCUL1jS5hsu2n5r2cFhnTrtyDAE=
Response.Write(sign);
下面是获取时间戳
public long GetTimeStamp()
{
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds);
}
最新文章
- phpstorm常用功能&;快捷键(mac)
- SQL Server开发接口生成方法
- MySql 插入数据中文乱码
- oracle入门-%的用法
- Project Euler 87 :Prime power triples 素数幂三元组
- Delphi打开窗体时报";Corrupt Portfolio Stream";
- [Cycle.js] Introducing run() and driver functions
- FlexSlider是一个非常出色的jQuery滑动切换插件
- 多平台Client TCP通讯组件
- [转]View属性 之 paddingStart &; paddingEnd
- 3.WP8.1开发_为控件增加动画
- Xcode9新特性介绍-中文篇
- Azure环境中Nginx高可用性和部署架构设计
- php RAS加密类代码
- shell脚本--CGI获取请求数据(GET / POST)
- linux下rocksdb的编译安装
- scp的两种方式
- Android开发(七)——判断网络状态
- tomcat启动(二)org.apache.catalina.startup.Bootstrap分析
- NYOJ 231 Apple Tree (树状数组)
热门文章
- net core体系-Xamarin-1概要
- Codeforces 219E Parking Lot 线段树
- Linux 配置最新的epel源
- 转载:搭建完整的arm-linux-gcc等交叉编译环境(感谢CSDN博主的分享)
- Django 学习第十二天——Auth 系统
- Python实现的各种机器学习算法
- 洛谷.3805.[模板]manacher算法
- php include 绝对路径 dirname(__FILE__)
- css selector 用法
- C语言基础一(敲打键盘、寻找资料)