Skip to content

Commit 47c7e8f

Browse files
authored
Revise readme for additional examples and information
1 parent 18f8b3e commit 47c7e8f

1 file changed

Lines changed: 26 additions & 5 deletions

File tree

README.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ Usage
1919
-----
2020
You can find the pre-built binaries in the [Releases](https://github.com/Deskasoft/HashifyNETCLI/releases) page.
2121

22+
> [!IMPORTANT]
23+
> Starting from version 0.7.0, HashifyNETCLI supports streaming computation for large files.
24+
> Please use `OpenRead` instead of `ReadAllBytes` for large files.
25+
2226
### Quick computation using CRC32
2327
```
2428
HashifyCLI -i "'Hello World'" -a "CRC" -cp "CRC=CRC32"
@@ -29,15 +33,24 @@ HashifyCLI -i "'Hello World'" -a "CRC" -cp "CRC=CRC32"
2933
HashifyCLI -i "'Hello World'" -a "CRC:1 CRC:2" -cp "CRC:1=CRC32 CRC:2=CRC64"
3034
```
3135

32-
### Quick computation of file HashifyCLI.exe (or HashifyCLI for Unix) using MD5, CRC32 and CRC64
36+
### Quick computation of file HashifyCLI.exe (or HashifyCLI for Unix) using MD5, CRC32, and CRC64
3337
```
3438
HashifyCLI -i "ReadAllBytes('HashifyCLI.exe')" -if "Input" -a "MD5 CRC:1 CRC:2" -cp "CRC:1=CRC32 CRC:2=CRC64"
3539
```
3640

41+
### Large computation
42+
For files larger than 64 megabytes, HashifyNETCLI reads them in 64-byte chunks.
43+
44+
Make sure to use OpenRead or a similar alternative that returns a `Stream` and not a byte array for streaming computation support.
45+
```
46+
HashifyCLI -i "OpenRead('LARGEFILE')" -if "Input" -a "MD5 CRC:1 CRC:2" -cp "CRC:1=CRC32 CRC:2=CRC64"
47+
```
48+
<img width="1087" height="69" alt="image" src="https://github.com/user-attachments/assets/a1645394-9a5a-4228-840f-92a1e2bf4d0f" />
49+
3750
Syntax and Execution
3851
--------------------
39-
The query used for algorithms and config profiles are the same, each execution is separated with spaces.
40-
A query of `CRC CRC` will be computing 2 CRC hashes, usually the same output.
52+
The query used for algorithms and config profiles is the same; each execution is separated with spaces.
53+
A query of `CRC CRC` will compute two CRC hashes, typically yielding the same output.
4154

4255
To use the same hash algorithm more than once with different config profiles, you must use the name suffixes separated by a colon, just like this:
4356
```
@@ -69,11 +82,14 @@ Usage Scenario Examples
6982
HashifyCLI -i "tostring(DateTimeOffset.UtcNow.Ticks)" -a "CRC" -cp "CRC=CRC32"
7083
```
7184

72-
#### Validate Hash - Ensure the computed hash equals to pre-computed hash
85+
#### Validate Hash - Ensure the computed hash equals the pre-computed hash
7386
```
74-
HashifyCLI -i "ReadAllBytes('HashifyNET.dll')" -if "Input" -a "MD5" -of "AsHexString() ~= '18c5770ef035f90924b988f2a947362a' and Fail('Hash Mismatch').ToString() or 'Hash Matches!'"
87+
HashifyCLI -i "ToArray({5, 3, 1})" -if "Input" -a "MD5" -of "AsHexString() ~= '395a1d76a5406630c9d355a6c7b34ae0' and Fail('Hash Mismatch').ToString() or 'Hash Matches'"
7588
```
7689

90+
> [!IMPORTANT]
91+
> Lua table conversion with `ToArray` is available in 0.7.0 and later.
92+
7793
> [!NOTE]
7894
> Call to Fail interrupts the entire execution and causes the CLI to return status code 2.
7995
@@ -157,6 +173,11 @@ JSON containing multiple configs for the same algorithm:
157173
> JSON input is ignored when `-cp` or `--config-profiles` exists in the command line parameters.
158174
> Make sure to use only one of them.
159175
176+
Bug Report & Feature Request
177+
----------
178+
For reporting bugs and feature requests, please make an [issue](https://github.com/Deskasoft/HashifyNETCLI/issues).
179+
For additional features or bug fixes made by you, feel free to open a [pull request](https://github.com/Deskasoft/HashifyNETCLI/pulls).
180+
160181
License
161182
-------
162183

0 commit comments

Comments
 (0)