nanoFramework.System.IO.Hashing 1.0.3
前缀已保留
dotnet add package nanoFramework.System.IO.Hashing --version 1.0.3
NuGet\Install-Package nanoFramework.System.IO.Hashing -Version 1.0.3
此命令旨在在Visual Studio的包管理器控制台中使用,因为它使用NuGet模块的Install-Package版本。
<PackageReference Include="nanoFramework.System.IO.Hashing" Version="1.0.3" />
对于支持PackageReference的项目,将此XML节点复制到项目文件中以引用该包。
paket add nanoFramework.System.IO.Hashing --version 1.0.3
NuGet团队不提供对此客户端的支持。请联系其维护者以获得支持。
#r "nuget: nanoFramework.System.IO.Hashing, 1.0.3"
#r指令可用于F#交互式和Polyglot笔记本。将此复制到交互式工具或脚本的源代码中,以引用该包。
// Install nanoFramework.System.IO.Hashing as a Cake Addin #addin nuget:?package=nanoFramework.System.IO.Hashing&version=1.0.3 // Install nanoFramework.System.IO.Hashing as a Cake Tool #tool nuget:?package=nanoFramework.System.IO.Hashing&version=1.0.3
NuGet团队不提供对此客户端的支持。请联系其维护者以获得支持。
欢迎使用.NET nanoFramework System.IO.Hashing库存储库
此存储库包含nanoFramework System.IO.Hashing类库。
构建状态
组件 | 构建状态 | NuGet包 |
---|---|---|
System.IO.Hashing |
System.IO.Hashing使用凭据
CRC32示例
此实现以Little Endian字节顺序生成答案,因此CRC残差关系(CRC(message concat CRC(message))是一个固定值)。对于CRC-32,此稳定的输出是字节序列{ 0x1C, 0xDF, 0x44, 0x21 },即0x2144DF1C的小端表示。
[!警告] 存在多个不兼容的32位循环冗余校验(CRC)算法定义。在与另一个系统交互时,请确保使用相同的定义。此实现所使用的定义与ITU-T I.363.5中描述的循环冗余校验不兼容。
计算字节数组的CRC32
var testData = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x26, 0x39, 0xF4, 0xCB };
Crc32 crc32 = new Crc32();
crc32.Append(testData);
ConsoleWriteline($"CRC32 for test data is: {crc32.GetCurrentHashAsUInt32()}");
可以使用替代的(静态)API代替。
var testData = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x26, 0x39, 0xF4, 0xCB };
var computedHash = Crc32.HashToUInt32(testData)
ConsoleWriteline($"CRC32 for test data is: {computedHash}");
计算多个数据块的CRC32
var testData1 = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x26, 0x39, 0xF4, 0xCB };
var testData2 = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xD9, 0xC6, 0x0B, 0x34 },
Crc32 crc32 = new Crc32();
crc32.Append(testData1);
crc32.Append(testData2);
ConsoleWriteline($"CRC32 for test data is: {crc32.GetCurrentHashAsUInt32()}");
如果需要重新使用Crc32
对象,可以通过调用Reset()
方法重置哈希计算器。
计算字符串的CRC32
这可以通过提取字符串的字节表示形式轻松实现。请注意,这需要添加对nanoFramework.System.Text
的引用。
var computedHash = Crc32.HashToUInt32(Encoding.UTF8.GetBytes("The quick brown fox jumps over the lazy dog"))
ConsoleWriteline($"CRC32 for the string is: {computedHash}");
反馈和文档
有关文档、反馈、问题以及了解如何贡献力量,请参阅主仓库。
加入我们的Discord社区这里。
鸣谢
可以在此处找到为本项目做出贡献者的列表:CONTRIBUTORS。
许可
nanoFramework类库根据MIT许可协议许可。
行为准则
本项目已采用贡献者保护协定的行为准则,以阐明社区中期望的行为。更多信息请参阅.NET基金会行为准则。
.NET基金会
本项目由.NET基金会支持。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET Framework | net是兼容的。 |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
NuGet包
此包未被任何NuGet包使用。
GitHub仓库
此包未被任何流行的GitHub仓库使用。