C#微框架需要HMAC-SHA1实现吗
正如标题所说,我正在寻找C#的HMAC-SHA1实现。这将在微框架下运行,因此我不能使用内置的System.Security.Cryptography类 如果我能理解原始代码,那么移植库是没有问题的。我已经在Javascript中找到了其中一个的源代码,并验证了它是否符合预期值,但我在移植上遇到了问题,因为我无法始终判断值的类型 那么有谁知道有任何C#(或Java(或其他强类型))实现吗?Bouncycastle C#加密库包含自由许可的C#源代码。提取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
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”中完成的。这项工作相对容易用最少数量的辅助类进行删除,并且与我的参考示例相匹配。谢谢