如何在.NET 4.5 Core中计算HMAC-SHA1身份验证代码

2024-02-27

我目前面临一个大问题(环境:.NET 4.5 Core):我们需要使用 HMAC-SHA1 算法通过密钥来保护消息。问题是命名空间的 HMACSHA1 类System.Security.Cryptography并且命名空间本身并不存在于.NET 4.5 Core中,该命名空间仅存在于普通版本的.NET中。

我尝试了很多方法来找到符合我们目的的等效名称空间,但我发现的唯一的就是Windows.Security.Cryptography遗憾的是它不提供 HMAC 加密。

有谁知道我如何解决我们的问题或者是否有任何免费使用的第三方解决方案?


The Windows.Security.Cryptography命名空间确实包含 HMAC。

你创建一个MacAlgorithmProvider通过调用静态对象OpenAlgorithm方法并指定以下算法之一 名称:HMAC_MD5 HMAC_SHA1 HMAC_SHA256 HMAC_SHA384 HMAC_SHA512 AES_CMAC

http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.core.macalgorithmprovider.aspx http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.core.macalgorithmprovider.aspx

public static byte[] HmacSha1Sign(byte[] keyBytes, string message){ 
    var messageBytes= Encoding.UTF8.GetBytes(message);
    MacAlgorithmProvider objMacProv = MacAlgorithmProvider.OpenAlgorithm("HMAC_SHA1");
    CryptographicKey hmacKey = objMacProv.CreateKey(keyBytes.AsBuffer());
    IBuffer buffHMAC = CryptographicEngine.Sign(hmacKey, messageBytes.AsBuffer());
    return buffHMAC.ToArray();

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在.NET 4.5 Core中计算HMAC-SHA1身份验证代码 的相关文章

  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • Symfony 2:如何在控制器外部或服务中渲染模板?

    如何在控制器外部或服务中渲染模板 我一直在关注 Symfony2 的文档 Doc http symfony com doc current book service container html core symfony and third
  • 为什么 json_encode 之后的 JSON.parse 不起作用?

    为什么这对我不起作用 我收到此错误 SyntaxError JSON parse unexpected non whitespace character after JSON data PHP s json encode生成一个字符串 但它
  • Phantomjs 加载页面缓慢

    我是 phantomjs 的新手 正在标准的 centOS 服务器上尝试它 安装了 httpd 等 但除了名称服务器设置为 8 8 8 8 和 8 8 4 4 之外 没有修改设置 我正在使用默认的 loadspeed js 文件 已重命名
  • Azure DevOps Pipeline - dotnet 恢复包内容哈希验证失败

    我在 Azure DevOps 中为我的 Function App 设置了一个构建管道 它利用了 nuget 缓存 从而利用了 package lock json 文件 但是 我不断遇到包验证哈希问题 例如 Package content
  • WCF 位于公共反向代理后面,用于流量加密

    我有一个连接到 WCF 服务的 Silverlight 应用程序 在我习惯的基本配置下 将该应用程序连接到其相应的WCF服务没有问题 然而 最近 我的一位客户开始使用 Apache 反向代理 该代理是公共服务器 仅用于通过 SSL HTTP
  • 自定义 DataGridViewCheckBoxCell 视觉更新在编辑模式下不起作用

    我有以下内容DataGridViewCheckBoxCell 问题是视觉更新不会在编辑模式下立即发生 只有当我退出时才会发生 public class CustomDataGridViewCell DataGridViewCheckBoxC
  • 如何级联软删除?

    检查这些SO文章后 实体框架中的级联删除 https stackoverflow com questions 27293576 cascade delete in entity framework ef6 1 软删除与级联删除 https
  • flutter 中出现错误:widget_test.dart 无法检测到 MyApp()

    作为一个完全的初学者 我正在尝试各种 flutter 功能 但由于 widget test dart 文件中的错误 我陷入了运行 main dart 的困境 如果错误是由于其他原因造成的 请指出 main dart import packa
  • Fontawesome 5 与 VuetifyJs 1.0.0

    我想将 Fontawesome 5 Icons 与 VuetifyJs 一起使用 那可能吗 我应该使用哪个 npm 包来实现 fontawesome 因为没有人为我工作 作为一个没有经验的 VuetifyJs 开发人员 使用它确实让我感到困
  • 合并来自 Raphael svg 的图像

    尝试创造步骤 1 让用户通过 Ajax Raphael 和 Raphael freetransform 上传图像 步骤 2 单击 按钮显示合并上传图像中的一张图像 问题 我发现了关于转换 Raphael svg 的类似帖子1 https s
  • 出现导入错误:安装 auto-sklearn 时没有名为“sklearn”的模块

    为什么我得到ImportError No module named sklearn 安装时auto sklearn通过点 virtualenv p python3 automl cd automl source bin activate p
  • 如何从 C 读取 python pickle 数据库/文件?

    我正在努力与几个音乐播放器集成 目前我最喜欢的是 exexile 在新版本中 他们将数据库格式从 SQLite3 迁移到内部 Pickle 格式 我想知道是否有一种方法可以访问 pickle 格式文件 而无需手动对格式进行逆向工程 我知道有
  • 如何在 Blazor 中实现拖放?

    我知道 Blazor 是一项新技术 当前版本为 v0 5 1 不过 我目前正在为一个新的 Web 应用程序实现 PoC 我们希望在应用程序中具有拖放功能 我尝试以 Blazor 方式实现它 但它不起作用 我的放置目标 div class c
  • 将 YAML 反序列化为自定义类型

    我目前正在尝试将 YAML 文档反序列化为标准 NET 对象 例如string对于标量值和Dictionary
  • 在 CURL 中使用 cookie jar 时如何注入 cookie?

    我正在使用 php curl 并使用 cookie jar 进行多步抓取 我需要从服务器动态生成的cookie 但在某一步骤中 一些 cookie 是使用 JavaScript 生成的 由于curl不运行javascript 因此我需要在此
  • 分段寄存器的使用

    我试图了解内存管理如何在低水平上进行 并有几个问题 1 Kip R Irvine 写的一本关于汇编语言的书说 在实模式下 程序启动时前三个段寄存器会加载代码 数据和堆栈段的基地址 这对我来说有点模棱两可 这些值是手动指定的还是汇编器生成指令
  • 永远不会执行的 cron 作业

    有没有办法创建一个 cron 表达式来根本不运行作业 我想使用这个表达 0 0 0 1 1 3099 这实际上可以完成这项工作 因为它将在 3099 年运行 但是有没有更干净的方法来完成它 如果您即使在遥远的将来仍在寻找强大的东西 请尝试h
  • 如何修改 Elastic Beanstalk AWS 上的 NGINX 路由?

    所以我有一个very与将 Elixir 应用程序部署到 Elastic Beanstalk 相关的长篇文章 此处 HTTP 500 将 Elixir Phoenix 部署到 AWS Elastic Beanstalk https stack
  • 如何在 Google Cloud Console 的同意屏幕上更改电子邮件帐户?

    我被困住了 我创建这个应用程序已经有一段时间了 那时我只是使用我的帐户 现在 我想向用户提供与系统支持电子邮件相对应的不同电子邮件 有办法改变吗 更新 请参阅我的评论 这全都是关于现在登录用户 没有别的 为了更改与您的项目关联的电子邮件 您
  • 如何在.NET 4.5 Core中计算HMAC-SHA1身份验证代码

    我目前面临一个大问题 环境 NET 4 5 Core 我们需要使用 HMAC SHA1 算法通过密钥来保护消息 问题是命名空间的 HMACSHA1 类System Security Cryptography并且命名空间本身并不存在于 NET