aboutsummaryrefslogtreecommitdiffstats
path: root/config/hash.ts
diff options
context:
space:
mode:
Diffstat (limited to 'config/hash.ts')
-rw-r--r--config/hash.ts30
1 files changed, 16 insertions, 14 deletions
diff --git a/config/hash.ts b/config/hash.ts
index abe7dd0..22e38bd 100644
--- a/config/hash.ts
+++ b/config/hash.ts
@@ -5,8 +5,9 @@
5 * file. 5 * file.
6 */ 6 */
7 7
8import Env from '@ioc:Adonis/Core/Env'; 8import env from '#start/env'
9import { hashConfig } from '@adonisjs/core/build/config'; 9import { defineConfig } from '@adonisjs/core/hash'
10import { drivers } from '@adonisjs/core/hash'
10 11
11/* 12/*
12|-------------------------------------------------------------------------- 13|--------------------------------------------------------------------------
@@ -17,7 +18,7 @@ import { hashConfig } from '@adonisjs/core/build/config';
17| defined inside `contracts` directory. 18| defined inside `contracts` directory.
18| 19|
19*/ 20*/
20export default hashConfig({ 21export default defineConfig({
21 /* 22 /*
22 |-------------------------------------------------------------------------- 23 |--------------------------------------------------------------------------
23 | Default hasher 24 | Default hasher
@@ -28,18 +29,17 @@ export default hashConfig({
28 | 29 |
29 | Default is set to bcrypt to prevent breaking-changes. 30 | Default is set to bcrypt to prevent breaking-changes.
30 */ 31 */
31 default: Env.get('HASH_DRIVER', 'scrypt'), 32 default: env.get('HASH_DRIVER', 'scrypt'),
32 33
33 list: { 34 list: {
34 scrypt: { 35 scrypt: drivers.scrypt({
35 driver: 'scrypt',
36 cost: 16_384, 36 cost: 16_384,
37 blockSize: 8, 37 blockSize: 8,
38 parallelization: 1, 38 parallelization: 1,
39 saltSize: 16, 39 saltSize: 16,
40 keyLength: 64, 40 keyLength: 64,
41 maxMemory: 32 * 1024 * 1024, 41 maxMemory: 32 * 1024 * 1024,
42 }, 42 }),
43 /* 43 /*
44 |-------------------------------------------------------------------------- 44 |--------------------------------------------------------------------------
45 | Argon 45 | Argon
@@ -53,14 +53,13 @@ export default hashConfig({
53 | npm install phc-argon2 53 | npm install phc-argon2
54 | 54 |
55 */ 55 */
56 argon: { 56 argon: drivers.argon2({
57 driver: 'argon2',
58 variant: 'id', 57 variant: 'id',
59 iterations: 3, 58 iterations: 3,
60 memory: 4096, 59 memory: 4096,
61 parallelism: 1, 60 parallelism: 1,
62 saltSize: 16, 61 saltSize: 16,
63 }, 62 }),
64 63
65 /* 64 /*
66 |-------------------------------------------------------------------------- 65 |--------------------------------------------------------------------------
@@ -75,14 +74,17 @@ export default hashConfig({
75 | npm install phc-bcrypt 74 | npm install phc-bcrypt
76 | 75 |
77 */ 76 */
78 bcrypt: { 77 bcrypt: drivers.bcrypt({
79 driver: 'bcrypt',
80 rounds: 10, 78 rounds: 10,
81 }, 79 }),
82 80
83 legacy: { 81 legacy: {
84 // @ts-expect-error 82 // @ts-expect-error
85 driver: 'legacy', 83 driver: 'legacy',
86 }, 84 },
87 }, 85 },
88}); 86})
87
88declare module '@adonisjs/core/types' {
89 export interface HashersList extends InferHashers<typeof hashConfig> {}
90}