e-CryptIt Engine - Checksums Xojo Plugin |

# CRC32 Class (console safe)

A class to calculate CRC32 checksums. On strings, bytes or streams.
The class supports the following CRC32 variations:
- GENERIC
- BZIP2
- MPEG2
- POSIX
- JAMCRC
- C
- D
- Q
- XFER

  Object
  CRC32

  class CRC32

  #### Constructors

  CRC32 (console safe) | Constructor that takes CRC32MethodEnum selector to choose CRC32 variation.
  CRC32 (console safe) | A constructor to create instance of CRC32 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

  CRC32MethodEnum | A enum to supply for the CRC32 constructor to choose CRC132 variation.

  #### Examples

  Dim crc as CRC32 = new CRC32(CRC32.CRC32MethodEnum.CRC32_GENERIC)
  Dim value32 as UInt32
  Dim testData as String = "123456789"
  testData = testData.ConvertEncoding(Encodings.ASCII)
  value32 = crc.Update(testData, crc.ReferenceInitValue)
  MsgBox Hex(crc.Final(value32))

  #### 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