![]() |
VOOZH | about |
dotnet add package Mythosia.Integrity --version 1.2.0
NuGet\Install-Package Mythosia.Integrity -Version 1.2.0
<PackageReference Include="Mythosia.Integrity" Version="1.2.0" />
<PackageVersion Include="Mythosia.Integrity" Version="1.2.0" />Directory.Packages.props
<PackageReference Include="Mythosia.Integrity" />Project file
paket add Mythosia.Integrity --version 1.2.0
#r "nuget: Mythosia.Integrity, 1.2.0"
#:package Mythosia.Integrity@1.2.0
#addin nuget:?package=Mythosia.Integrity&version=1.2.0Install as a Cake Addin
#tool nuget:?package=Mythosia.Integrity&version=1.2.0Install as a Cake Tool
HashAlgorithm is moved Mythosia.Security.Cryptography namespace. Please download Mythosia.Security.Cryptography to use it.
Please see https://www.lammertbies.nl/comm/info/crc-calculation?crc=8005&method=hex https://crccalc.com/
using Mythosia;
using Mythosia.Integrity;
var data = "123456789".ToASCIIArray();
// Example for CRC 8
var crc = data.CRC8();
var dataWithCRC = data.WithCRC8();
// Example for CRC 8 MAXIM
var crc = data.CRC8(CRC8Type.Maxim);
var dataWithCRC = data.WithCRC8(CRC8Type.Maxim);
// Example for CRC 16
var crc = data.CRC16();
var dataWithCRC = data.WithCRC16();
// Example for CRC 16 (modbus)
var crc = data.CRC16(CRC16Type.Modbus);
var dataWithCRC = data.WithCRC16(CRC16Type.Modbus);
// Example for CRC 16 CCITT (xModem)
var crc = data.CRC16(CRC16Type.CCITTxModem);
var dataWithCRC = data.WithCRC16(CRC16Type.CCITTxModem);
// Example for CRC 16 DNP
var crc = data.CRC16(CRC16Type.DNP);
var dataWithCRC = data.WithCRC16(CRC16Type.DNP);
// Example for CRC 32
var crc = data.CRC32();
var dataWithCRC = data.WithCRC32();
Please see https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/
using Mythosia;
using Mythosia.Integrity;
var data = "123456789".ToASCIIArray();
// Example for Checksum8
var checksum = data.CheckSum8(CheckSum8Type.Xor);
var dataWithChecksum = data.WithCheckSum8(CheckSum8Type.Xor);
var checksum = data.CheckSum8(CheckSum8Type.Modulo256);
var dataWithChecksum = data.WithCheckSum8(CheckSum8Type.Modulo256);
var checksum = data.CheckSum8(CheckSum8Type.TwosComplement);
var dataWithChecksum = data.WithCheckSum8(CheckSum8Type.TwosComplement);
var checksum = data.CheckSum8(CheckSum8Type.NMEA);
var dataWithChecksum = data.WithCheckSum8(CheckSum8Type.NMEA);
if you want to use the polymorphism, you can use is as below.
using Mythosia;
using Mythosia.Integrity;
var content = "123456789".ToASCIIArray();
ErrorDetection errDetection = new Checksum8();
var checksum = errDetection.Compute(content);
var encodeData = errDetection.Encode(content); // encodeData is content + checksum
var decodeData = errDetection.Decode(encodeData); // decodeData is equal with content
errDetection = new Checksum8(Checksum8Type.Modulo256); // change to the modulo256 checksum
checksum = errDetection.Compute();
var encodeData = errDetection.Encode(content); // encodeData is content + checksum
var decodeData = errDetection.Decode(encodeData); // decodeData is equal with content
errDetection = new CRC8(); // change to the CRC8
var crc = errDetection.Compute();
var encodeData = errDetection.Encode(content); // encodeData is content + crc
var decodeData = errDetection.Decode(encodeData); // decodeData is equal with content
errDetection = new CRC16(); // change to the CRC16
crc = errDetection.Compute();
var encodeData = errDetection.Encode(content); // encodeData is content + crc
var decodeData = errDetection.Decode(encodeData); // decodeData is equal with content
errDetection = new CRC32(); // change to the CRC32
crc = errDetection.Compute();
var encodeData = errDetection.Encode(content); // encodeData is content + crc
var decodeData = errDetection.Decode(encodeData); // decodeData is equal with content
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.