Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#微框架需要HMAC-SHA1实现吗_C#_Cryptography_.net Micro Framework - Fatal编程技术网

C#微框架需要HMAC-SHA1实现吗

C#微框架需要HMAC-SHA1实现吗,c#,cryptography,.net-micro-framework,C#,Cryptography,.net Micro Framework,正如标题所说,我正在寻找C#的HMAC-SHA1实现。这将在微框架下运行,因此我不能使用内置的System.Security.Cryptography类 如果我能理解原始代码,那么移植库是没有问题的。我已经在Javascript中找到了其中一个的源代码,并验证了它是否符合预期值,但我在移植上遇到了问题,因为我无法始终判断值的类型 那么有谁知道有任何C#(或Java(或其他强类型))实现吗?Bouncycastle C#加密库包含自由许可的C#源代码。提取Org.BouncyCastle.Cryp

正如标题所说,我正在寻找C#的HMAC-SHA1实现。这将在微框架下运行,因此我不能使用内置的System.Security.Cryptography类

如果我能理解原始代码,那么移植库是没有问题的。我已经在Javascript中找到了其中一个的源代码,并验证了它是否符合预期值,但我在移植上遇到了问题,因为我无法始终判断值的类型

那么有谁知道有任何C#(或Java(或其他强类型))实现吗?

Bouncycastle C#加密库包含自由许可的C#源代码。提取
Org.BouncyCastle.Crypto.Digests.Sha1Digest
Org.BouncyCastle.Crypto.Macs.HMac
类并将它们合并到代码中应该很简单。它似乎对那些.NET类没有任何依赖性,但我不知道微框架中包含哪些类。

是一个开源库,其中包含许多哈希函数的优化代码,包括C和Java中的SHA-1。Java版本还包括一个通用HMAC实现(可用于任何实现的哈希函数)。由于代码是基本的Java,只有基本的整数运算(它也可以在J2ME平台上运行),因此将其转换为C#应该很容易(您只需要将Java的'
>>
'无符号右移运算符转换为相应的C#无符号类型,然后执行常规右移).

通过使用Mono项目提供的代码,您可以获得与Microsoft具有相同API的C版本。它是MIT X11许可的,因此在任何项目中都很容易重用。见:


和相关文件。您还可以使用单元测试来确保它在您的平台上正常工作。

您检查了吗。似乎是在“C”中完成的。这项工作相对容易用最少数量的辅助类进行删除,并且与我的参考示例相匹配。谢谢