⚡ Easy to use and high-performance hashing, encoding and cipher library.
Requires Java 11 or higher.
Maven
Add this to your pom.xml
:
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.BlackBaroness</groupId>
<artifactId>cryptography</artifactId>
<version>master-SNAPSHOT</version>
</dependency>
Gradle
Add this to your build.gradle
:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.BlackBaroness:cryptography:master-SNAPSHOT'
}
Family | Implementations |
---|---|
MD | MD2, MD4, MD5 |
SHA | SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 |
BLAKE2b | BLAKE2b-160, BLAKE2b-256, BLAKE2b-384, BLAKE2b-512 |
BLAKE2s | BLAKE2s-128, BLAKE2s-160, BLAKE2s-224, BLAKE2s-256 |
CRC | CRC-8, CRC-16, CRC-24, CRC-32, CRC-64 |
Keccak (SHA-3) | Keccak-224, Keccak-256, Keccak-288, Keccak-384, Keccak-512 |
RIPEMD | RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320 |
Skein | Skein256-128, Skein256-160, Skein256-224, Skein256-256, Skein512-128, Skein512-160, Skein512-224, Skein512-256, Skein512-384, Skein512-512, Skein1024-384, Skein1024-512, Skein1024-1024 |
Tiger | Tiger, Tiger2, Tiger-128, Tiger-180 |
Whirlpool | Whirlpool-0, Whirlpool-1, Whirlpool-2 |
Adler32 | Adler32 |
HAS-160 | HAS-160 |
Kupyna (DSTU7564) | Kupyna-256, Kupyna-384, Kupyna-512 |
SM3 | SM3 |
sum | sum8, sum16, sum24, sum32 |
Xor8 | Xor8 |
FCS | FCS-16, FCS-32 |
ELF (Unix) | ELF-32 |
- A1z26
Documantation available on wiki.
We use dependencies:
- Bouncy Castle - hashing, encoding etc;
- Jonelo Jacksum - hashing, encoding etc;
- Apache Commons IO - file reading;
In addition, we use:
- JUnit 5 - unit testing;
- Jetbrains Annotations - better code documentation via annotations;
- Checker Framework - something like the point above, but much more powerful;
- Lombok - syntactic sugar and less boilerplate code;