No description
Find a file
2020-02-10 12:16:13 +01:00
.github/workflows Remove precompiled libs and use native build 2020-02-10 12:16:13 +01:00
android Fix MemoryCost minimum value according to specs 2020-02-10 12:16:13 +01:00
gradle/wrapper Update gradle wrapper to 5.6.2 2020-02-09 03:10:18 +01:00
ios Fix Argon2 for building on device 2020-01-22 09:02:18 -08:00
phc-winner-argon2@62358ba212 Argon2 Android library. 2020-01-15 11:11:42 -05:00
.gitignore Update .gitignore 2020-02-09 03:09:24 +01:00
.gitmodules Argon2 Android library. 2020-01-15 11:11:42 -05:00
Argon2.podspec Fix Argon2 for building on device 2020-01-22 09:02:18 -08:00
gradle.properties New Android app. 2020-01-13 13:37:45 -05:00
gradlew Update gradle wrapper to 5.6.2 2020-02-09 03:10:18 +01:00
gradlew.bat Update gradle wrapper to 5.6.2 2020-02-09 03:10:18 +01:00
README.md Update Android version in readme. 2020-01-30 16:07:04 -05:00
settings.gradle Argon2 Android library. 2020-01-15 11:11:42 -05:00

Argon2 Library

Wrapper around the reference C implementation of Argon2.

Android Usage

implementation 'org.signal:argon2:13.1@aar'
Argon2 argon2 = new Argon2.Builder(Version.V13)
                          .type(Type.Argon2id)
                          .memoryCost(MemoryCost.MiB(32))
                          .parallelism(1)
                          .iterations(3)
                          .build();
                          
                          
Argon2.Result result = argon2.hash(password, salt);

byte[] hash    = result.getHash();
String hashHex = result.getHashHex();
String encoded = result.getEncoded();

iOS Usage

Add the following line to your Podfile:

pod 'Argon2', git: 'https://github.com/signalapp/Argon2.git', submodules: true
let (rawHash, encodedHash) = Argon2.hash(
    iterations: 1,
    memoryInKiB: 32 * 1024,
    threads: 1,
    password: password,
    salt: salt,
    desiredLength: 32,
    variant: .id,
    version: .v13
)