Skip to content
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.

google/sha1dc-jni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sha1collisiondetection JNI bridge

cr-marcstevens/sha1collisiondetection is the library for calculating SHA-1 hash as well as detecting a hash collision. This is a JNI bridge of this library.

This is not an official Google product. This is the author's hobby project. Not for production use.

Build & Test

Use Bazel. I'm not sure how I can create a distributable package with JNI. You would need to change the BUILD files in order to build non-Linux environment.

Note that Sha1DcHasher itself doesn't load the native library. You would need to load sha1dc_jni_bridge.so somewhere else.

Speed comparison

This is not a serious benchmark. It's better to do your own benchmarking if you're looking into this. With bazel test ... -c opt in the author's workstation:

Hashing 2MiB chunked 40MiB file 100 times (== hashing ~ 4GiB)

JGit SHA1: 18152ms
Sha1DcHasher (DirectBuffer): 9812ms
Sha1DcHasher (ByteArray, Copy): 10937ms
Sha1DcHasher (ByteArray, GCLock): 9831ms
Standard SHA-1 Hasher (ByteArray): 12160ms

JGit's SHA1 class and Sha1DcHasher class are collision detection enabled implementations.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published