Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support of BLAKE3 hashes #84

Open
ghost opened this issue Aug 17, 2020 · 7 comments
Open

Add support of BLAKE3 hashes #84

ghost opened this issue Aug 17, 2020 · 7 comments

Comments

@ghost
Copy link

ghost commented Aug 17, 2020

Well in title is there anyway to do implement into gtkhash?

@ghost ghost changed the title Add support of BLAKE2 hashes Add support of BLAKE3 hashes Aug 17, 2020
@ghost
Copy link
Author

ghost commented Aug 17, 2020

And also how can i make batch file that launches .exe and then launch hashes

@tristanheaven
Copy link
Member

Yes it's possible, but it would be easier if BLAKE3-team created a library with a C API - like BLAKE2/libb2.

@tristanheaven
Copy link
Member

For the batch file, you can add file paths as command arguments and hashing should start automatically.

@ghost
Copy link
Author

ghost commented Aug 19, 2020

For the batch file, you can add file paths as command arguments and hashing should start automatically.

How it should be look?

gtkhash.exe -C:\Hashes\hashes.txt right?

@oconnor663
Copy link

Yes it's possible, but it would be easier if BLAKE3-team created a library with a C API - like BLAKE2/libb2.

You can find the official C implementation here. (Maybe we should make that more discoverable? The top level readme links to it, but it's pretty far down.) Single-threaded performance is equivalent to the Rust implementation, because they use the same assembly files under the hood. Multi-threading isn't supported yet though.

@tristanheaven
Copy link
Member

@oconnor663 It's fine, I found it there. The issue is that the C implementation doesn't have a build system and pkg-config file which would make it suitable for packaging in a distribution. Unless it gets included in another library (e.g. openssl), every application will need to have the same architecture/OS-specific build handling, or only use the portable C version.

@oconnor663
Copy link

Yeah that's a problem. My worry has been that I don't know how to provide a single build system that's useful to different callers, for example both callers using autotools and callers using Visual Studio. I've been meaning to try something with CMake, but I don't have enough experience to know in advance whether that's going to be useful to everyone. Do you know if that's a good approach? Anyway, apologies for derailing this thread :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants