97 lines
2.7 KiB
TypeScript
97 lines
2.7 KiB
TypeScript
|
/**
|
||
|
* Config source: https://git.io/JfefW
|
||
|
*
|
||
|
* Feel free to let us know via PR, if you find something broken in this config
|
||
|
* file.
|
||
|
*/
|
||
|
|
||
|
import Env from '@ioc:Adonis/Core/Env';
|
||
|
import { hashConfig } from '@adonisjs/core/build/config';
|
||
|
|
||
|
/*
|
||
|
|--------------------------------------------------------------------------
|
||
|
| Hash Config
|
||
|
|--------------------------------------------------------------------------
|
||
|
|
|
||
|
| The `HashConfig` relies on the `HashList` interface which is
|
||
|
| defined inside `contracts` directory.
|
||
|
|
|
||
|
*/
|
||
|
export default hashConfig({
|
||
|
/*
|
||
|
|--------------------------------------------------------------------------
|
||
|
| Default hasher
|
||
|
|--------------------------------------------------------------------------
|
||
|
|
|
||
|
| By default we make use of the argon hasher to hash values. However, feel
|
||
|
| free to change the default value
|
||
|
|
|
||
|
*/
|
||
|
default: Env.get('HASH_DRIVER', 'scrypt'),
|
||
|
|
||
|
list: {
|
||
|
/*
|
||
|
|--------------------------------------------------------------------------
|
||
|
| scrypt
|
||
|
|--------------------------------------------------------------------------
|
||
|
|
|
||
|
| Scrypt mapping uses the Node.js inbuilt crypto module for creating
|
||
|
| hashes.
|
||
|
|
|
||
|
| We are using the default configuration recommended within the Node.js
|
||
|
| documentation.
|
||
|
| https://nodejs.org/api/crypto.html#cryptoscryptpassword-salt-keylen-options-callback
|
||
|
|
|
||
|
*/
|
||
|
scrypt: {
|
||
|
driver: 'scrypt',
|
||
|
cost: 16384,
|
||
|
blockSize: 8,
|
||
|
parallelization: 1,
|
||
|
saltSize: 16,
|
||
|
keyLength: 64,
|
||
|
maxMemory: 32 * 1024 * 1024,
|
||
|
},
|
||
|
|
||
|
/*
|
||
|
|--------------------------------------------------------------------------
|
||
|
| Argon
|
||
|
|--------------------------------------------------------------------------
|
||
|
|
|
||
|
| Argon mapping uses the `argon2` driver to hash values.
|
||
|
|
|
||
|
| Make sure you install the underlying dependency for this driver to work.
|
||
|
| https://www.npmjs.com/package/phc-argon2.
|
||
|
|
|
||
|
| npm install phc-argon2
|
||
|
|
|
||
|
*/
|
||
|
argon: {
|
||
|
driver: 'argon2',
|
||
|
variant: 'id',
|
||
|
iterations: 3,
|
||
|
memory: 4096,
|
||
|
parallelism: 1,
|
||
|
saltSize: 16,
|
||
|
},
|
||
|
|
||
|
/*
|
||
|
|--------------------------------------------------------------------------
|
||
|
| Bcrypt
|
||
|
|--------------------------------------------------------------------------
|
||
|
|
|
||
|
| Bcrypt mapping uses the `bcrypt` driver to hash values.
|
||
|
|
|
||
|
| Make sure you install the underlying dependency for this driver to work.
|
||
|
| https://www.npmjs.com/package/phc-bcrypt.
|
||
|
|
|
||
|
| npm install phc-bcrypt
|
||
|
|
|
||
|
*/
|
||
|
bcrypt: {
|
||
|
driver: 'bcrypt',
|
||
|
rounds: 10,
|
||
|
},
|
||
|
},
|
||
|
});
|