diff options
author | 2022-08-24 00:09:16 +0200 | |
---|---|---|
committer | 2022-08-24 00:18:01 +0200 | |
commit | 83da6b7ee9db29e40faf288f9627257aa7124038 (patch) | |
tree | 96e12c476cb562d337d94c8199f0b6fb0d4a1f3f | |
parent | 737319edf1e7586cb7cf9cfbbdc72719691c79d2 (diff) | |
download | it-tools-83da6b7ee9db29e40faf288f9627257aa7124038.tar.gz it-tools-83da6b7ee9db29e40faf288f9627257aa7124038.tar.zst it-tools-83da6b7ee9db29e40faf288f9627257aa7124038.zip |
refactor: token generator can use a custom alphabet
-rw-r--r-- | src/tools/token-generator/token-generator.service.ts | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/tools/token-generator/token-generator.service.ts b/src/tools/token-generator/token-generator.service.ts index bf6d9ac..f48a4de 100644 --- a/src/tools/token-generator/token-generator.service.ts +++ b/src/tools/token-generator/token-generator.service.ts @@ -6,19 +6,23 @@ export function createToken({ withNumbers = true, withSymbols = false, length = 64, + alphabet, }: { withUppercase?: boolean; withLowercase?: boolean; withNumbers?: boolean; withSymbols?: boolean; length?: number; + alphabet?: string; }) { - const alphabet = [ - ...(withUppercase ? 'ABCDEFGHIJKLMOPQRSTUVWXYZ' : ''), - ...(withLowercase ? 'abcdefghijklmopqrstuvwxyz' : ''), - ...(withNumbers ? '0123456789' : ''), - ...(withSymbols ? '.,;:!?./-"\'#{([-|\\@)]=}*+' : ''), - ].join(''); + const allAlphabet = + alphabet ?? + [ + ...(withUppercase ? 'ABCDEFGHIJKLMOPQRSTUVWXYZ' : ''), + ...(withLowercase ? 'abcdefghijklmopqrstuvwxyz' : ''), + ...(withNumbers ? '0123456789' : ''), + ...(withSymbols ? '.,;:!?./-"\'#{([-|\\@)]=}*+' : ''), + ].join(''); - return shuffleString(alphabet.repeat(length)).substring(0, length); + return shuffleString(allAlphabet.repeat(length)).substring(0, length); } |