Author Image

placa_preta

Mar 15, 2021

Implementação de método em C# para cálculo de CRC16

CRC16C#métodocálculointegraçãoAPI

Boa noite. Alguém tem aí fácil o código de um método na linguagem C# para o calculo do CRC16 ?

Respostas (2):
Avatar discord do usuario rubenskuhl

rubenskuhl

15/03/2021

public string CRC16(string s)
{
var crc = 0xFFFF;
var polynomial = 0x1021;
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(s);

foreach (byte b in bytes) {
for (var i = 0; i < 8; i++) {
bool bit = ((b >> (7-i) & 1) == 1);
bool c15 = ((crc >> 15 & 1) == 1);
crc <<= 1;
if (c15 ^ bit)
crc ^= polynomial;
}
}
crc &= 0xffff;
return crc.ToString("X").PadLeft(4, '0');
}
(fonte <@!781928420757864468> )

Avatar discord do usuario placa_preta

placa_preta

15/03/2021

Valeu amigão! Te devo uma!