e-CryptIt Engine - Checksums Xojo Plugin |

# CRC16 Class (console safe)

A class to calculate CRC16 checksums. On strings, bytes or streams.
The class supports the following CRC16 variations:
- GENERIC
- AUG_CCITT
- CCITT
- DECT_R
- DECT_X
- EN_13757
- GENIBUS
- T10_DIF
- TELEDISK
- BUYPASS
- DDS_110
- DNP
- MAXIM
- RIELLO
- MCRF4XX
- TMS37157
- USB
- CRC_A
- KERMIT
- MODBUS
- IBM_SDLC

  Object
  CRC16

  class CRC16

  #### Constructors

  CRC16 (console safe) | Constructor that takes CRC16MethodEnum selector to choose CRC16 variation.
  CRC16 (console safe) | A constructor to create instance of CRC16 with settings for custom variation.

  #### Properties

  ReferenceInitValue (console safe) | A reference starting value for the CRC for the selected CRC variation.

  #### Methods

  Final (console safe) | Gets the final checksum from the CRC.
  shared PluginVersion | Returns the version number of the plugin.
  Reset (console safe) | Resets the CRC stream.
  Update (console safe) | Updates the CRC checksum with a string.
  UpdateByte (console safe) | Updates the CRC checksum with a single byte
  UpdateMemoryBlock (console safe) | Updates the CRC checksum with a memory block taking all bytes from the block.
  UpdateMemoryBlock (console safe) | Updates the CRC checksum with a memory block taking selected bytes from the block.

  #### Enumerations

  CRC16MethodEnum | A enum to supply for the CRC16 constructor to choose CRC16 variation.

  #### Examples

  Dim crc as CRC16 = new CRC16(CRC16.CRC16MethodEnum.CRC16_CCITT)
  Dim value as UInt16
  Dim testData as String = "123456789"
  testData = testData.ConvertEncoding(Encodings.ASCII)
  value = crc.Update(testData,crc.ReferenceInitValue)
  MsgBox Hex(crc.Final(value))

  #### Supported Platforms:

- macOS Intel 64 bit
- macOS Apple Silicon
- Windows 32 bit
- Windows 64 bit
- Windows ARM 64 bit
- Linux 32 bit
- Linux 64 bit
- Linux ARM 32 bit
- Linux ARM 64 bit
- iOS