Checksum Generator
The Checksum Generator allows users to generate checksums and digests for an entire document or a selection within a document and is started by select "Generate Checksum ..." from the "Tools" menu or by pressing the checksum button on either the main Tools toolbar or checksum toolbar (located on the Checksum tab of the Results Window).
Users can select the desired algorithms and configure CRC parameters for Custom CRCs prior to pressing the "Generate" button to calculate the checksums and digests. All calculations are performed on the active document with Hex Workshop.
The Checksum Generator supports 23 checksum and digests variations:
Algorithm |
Bytes |
Description |
Checksum (8 bit) |
1 |
Simple count where all the bytes are added in an 8 bit accumulator. Initial value is 0. |
Checksum (16 bit) |
2 |
Simple count where all the bytes are added in an 16 bit accumulator. Initial value is 0. |
Checksum (32 Bit) |
4 |
Simple count where all the bytes are added in an 32 bit accumulator. Initial value is 0. |
Checksum (64 bit) |
8 |
Simple count where all the bytes are added in an 64 bit accumulator. Initial value is 0. |
CRC (16 Bit) |
2 |
16 bit Cyclic Redundancy Check (CRC) with a polynomial of 0x8005 and an initial value of 0x0000. |
CRC/CCITT (16 bit) |
2 |
16 bit Cyclic Redundancy Check (CRC) with a polynomial of 0x1021 and an initial value of 0xFFFF. |
CRC (32 bit) |
4 |
32 bit Cyclic Redundancy Check (CRC) with a polynomial of 0x04C11DB7 and an initial value of 0xFFFFFFFF. |
Custom CRC (16 bit) |
2 |
16 bit Cyclic Redundancy Check (CRC) with a user supplied polynomial and initial value. |
Custom CRC (32 bit) |
4 |
32 bit Cyclic Redundancy Check (CRC) with a user supplied polynomial and initial value. |
MD2 (128 bit) |
16 |
MD2 Message-Digest Algorithm (RSA Data Security, Inc.) |
MD4 (128 bit) |
16 |
MD4 Message-Digest Algorithm (RSA Data Security, Inc.) |
MD5 (128 bit) |
16 |
MD5 Message-Digest Algorithm (RSA Data Security, Inc.) |
SHA-1 (160 bit) |
20 |
160 bit Secure Hash Algorithm (NIST) |
SHA-2 (224 bit) |
28 |
224 bit Secure Hash Algorithm (NIST) |
SHA-2 (256 bit) |
32 |
256 bit Secure Hash Algorithm (NIST) |
SHA-2 (384 bit) |
48 |
384 bit Secure Hash Algorithm (NIST) |
SHA-2 (512 bit) |
64 |
512 bit Secure Hash Algorithm (NIST) |
RIPEMD (128 bit) |
16 |
128 bit RACE Integrity Primitives Evaluation Message Digest (RIPEMD) |
RIPEMD (160 bit) |
20 |
160 bit RACE Integrity Primitives Evaluation Message Digest (RIPEMD) |
RIPEMD (256 bit) |
32 |
256 bit RACE Integrity Primitives Evaluation Message Digest (RIPEMD) |
RIPEMD (320 bit) |
40 |
320 bit RACE Integrity Primitives Evaluation Message Digest (RIPEMD) |
Tiger (192 bit) |
24 |
192 bit Tiger Digest Algorithm |
Whirlpool (512 bit) |
64 |
512 bit Whirlpool Hash Algorithm |
Checksums and digests are displayed in the Checksum tab of the Results Window (Ctrl+W).
Checksums are displayed in both decimal and hex while digests are only displayed in hex.
Users can display checksum values as calculated or in 1s or 2s complement. Select the complement drop down ("None" is selected in the above example) to switch between as calculated ("None"), 1s compliment or 2s complement. Digests are not displayed in 1s and 2s complement.
Users can copy a checksum or digest result by selecting the checksum/digest and pressing Ctrl+C or by right-clicking on the checksum/digest and selecting "Copy" from the popup context menu. The data is placed on the clipboard in both binary and text formats. This allows the user to paste the value into Hex Workshop or into another application as text. When pasting into a Hex Workshop document, position the editing caret in either the hex display (left side) or text display (right side) to paste the data as binary or text, respectively.
The checksum results control is cleared by pressing the "X" button in the upper-right of the Checksum Tab. Alternatively, right click anywhere within the Checksum tab and select "Clear All Results" from the popup context menu.
Remove a single checksum/digest by right-clicking on the checksum/digest and selecting "Remove selected checksum" from the popup context menu.
Checksums can be refreshed by either re-launching the Checksum Generator or by pressing the refresh button (button with 2 rounded arrows) on the Checksum tab of the Results Windows. Refreshing a checksum maintains the selected algorithms and selection parameters (entire document or a block within a document).
The document must be open within the editor to refresh a checksum.
Hex Workshop automatically replaces checksum results generated on a particular file to reduce confusion. It is not possible to display the checksum result of a particular algorithm before and after an edit without creating a new document.
Columns can be shown or hidden by right clicking anywhere on the Checksum tab of the Results Window and selecting the "Columns" sub-menu from the popup context menu. A description of the columns and default state is included below:
Column |
Default |
Description |
Document |
Shown |
The file name portion of the document used to render the checksum or digest. Selecting a checksum element displays the full path on the top-left of the Checksum tab. |
Offset |
Hidden |
Starting offset used to generate the checksum or digest. |
Length |
Hidden |
Length of data used to generate the checksum or digest. |
Algorithm |
Shown |
The algorithm used to generate the checksum or digest. |
Checksum |
Shown |
Decimal checksum value |
Checksum/Digest |
Shown |
Hex checksum or digest value |