KeyedHashAlgorithm algorithm = KeyedHashAlgorithm.Create(algorithmName.ToString().ToUpper(CultureInfo.InvariantCulture));
if (null == algorithm)
throw new InvalidOperationException("Please specify a KeyedHashAlgorithm to use."); try
{
algorithm.Key = key;
byte[] bytes = algorithm.ComputeHash(data);
return bytes;
}
finally
{
algorithm.Clear();
}

这个代码会报异常,出现PNSE

经查找各种文档发现一下使用办法是Ok的,有没有其它的办法呢?

  try
{
var keyBytes = Encoding.UTF8.GetBytes(key);
var hmac = new HMACSHA1(keyBytes);
byte[] bytes = hmac.ComputeHash(data);
return Convert.ToBase64String(bytes);
}
catch (Exception e)
{
throw e;
}
finally
{
}

HMACSHA256 hashAlgorithm = new HMACSHA256(key); return hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(data));

最新文章

  1. ArcGIS AddIN开发:如何调用ArcMap中的选择工作空间的窗体
  2. Atitit.java图片图像处理attilax总结
  3. MPlayer-ww 增加边看边剪切功能
  4. libogg.so fro android编译方法
  5. 樱花雨 www.yinghy.com
  6. IO和socket编程
  7. arm处理器
  8. 并发库应用之十 & 多线程数据交换Exchanger应用
  9. CSRedisCore 在net core中的使用
  10. android Notification总结
  11. java元注解 @Target注解用法
  12. 在Ubuntu上使用noip动态域名的方法(ddns)
  13. MemSQL 架构初探(转)
  14. SRM 619
  15. 广播 (Broadcast)
  16. virtualenv,virtualenvwrapper安装及使用
  17. Java之反射(部分文档摘过来方便以后查看)
  18. java实现单链表归并算法
  19. 取三级分销上下级用户id
  20. CSAPP:代码优化【矩阵运算】

热门文章

  1. mq的基本介绍和基本用法
  2. bsdiff差分算法
  3. Python中第三方的用于解析HTML的库:BeautifulSoup
  4. laravel Cache store [] is not defined
  5. awk命令基本使用方法
  6. k8s nodeport下访问请求未被分发到所有node的排错(转)
  7. 2018秋寒假作业6—PTA编程总结3
  8. 软件测试:3.Exercise Section 2.3
  9. Linux基础之常用命令整理(一)
  10. 64 位 Windows 平台开发注意要点之文件系统重定向