@sphereon/react-native-argon2
v2.0.9
Published
React Native Wrapper around Argon2
Downloads
1,168
Readme
react-native-argon2
React Native Wrapper around native Argon2 implementations:
iOS: CatCrypto
Android: argon2kt
Getting started
npm install @sphereon/react-native-argon2 --save
Compatibility Table
| React Native Version | Package Version | |----------------------|-----------------| | 0.60 - 0.63.2 | ~0.1.0 | | 0.63.3 | ^1.0.0 |
Usage
import argon2 from '@sphereon/react-native-argon2';
const password = 'password';
const salt = '1234567891011121314151617181920212223242526272829303132333435363';
const result = await argon2(password, salt, {});
const { rawHash, encodedHash } = result;
// rawHash: 031d6c82ddede1200f4794605052745dd562bd4db358e23dac1b11c052eff8d9
// encodedHash: $argon2id$v=19$m=32768,t=2,p=1$MTIzNDU2Nzg5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2Mw$Ax1sgt3t4SAPR5RgUFJ0XdVivU2zWOI9rBsRwFLv+Nk
Input
The package takes in the following variables:
| Parameter | Type | |---------------------|---------| | password | string | | salt | string | | config | object | | config.iterations | integer | | config.memory | integer | | config.parallelism | integer | | config.hashLength | integer | | config.mode | string |
You are not required to configure the third parameter which is the config
object, however you do have to provide an empty object to it if you are not changing any of the values. You can set config values with the following example:
const result = await argon2(
password,
salt,
{
iterations: 5,
memory: 16 * 1024,
parallelism: 2,
hashLength: 20,
mode: 'argon2i'
}
);
Output
rawHash
is the hexadecimal representation
encodedHash
is the string representation