diff --git a/client/src/app/core/repositories/users/user-repository.service.ts b/client/src/app/core/repositories/users/user-repository.service.ts index 5189f00e3..e482a9edf 100644 --- a/client/src/app/core/repositories/users/user-repository.service.ts +++ b/client/src/app/core/repositories/users/user-repository.service.ts @@ -181,11 +181,21 @@ export class UserRepositoryService extends BaseRepository charactersLengthPower2) { + charactersLengthPower2 *= 2; + } + while (pw.length < length) { + const random = new Uint8Array(length - pw.length); + window.crypto.getRandomValues(random); + for (let i = 0; i < random.length; i++) { + const r = random[i] % charactersLengthPower2; + if (r < characters.length) { + pw += characters.charAt(r); + } + } } return pw; }