How to use the kdbxweb.Random function in kdbxweb

To help you get started, we’ve selected a few kdbxweb examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github keeweb / keeweb / app / scripts / util / generators / password-generator.js View on Github external
generateHash(length) {
        const randomBytes = kdbxweb.Random.getBytes(length);
        let result = '';
        for (let i = 0; i < length; i++) {
            result += randomBytes[i].toString(16)[0];
        }
        return result;
    },
github keeweb / keeweb / app / scripts / util / generators / password-generator.js View on Github external
generateMac() {
        const segmentsCount = 6;
        const randomBytes = kdbxweb.Random.getBytes(segmentsCount);
        let result = '';
        for (let i = 0; i < segmentsCount; i++) {
            let segment = randomBytes[i].toString(16).toUpperCase();
            if (segment.length < 2) {
                segment = '0' + segment;
            }
            result += (result ? '-' : '') + segment;
        }
        return result;
    },
github keeweb / keeweb / app / scripts / comp / secure-input.js View on Github external
get() {
        const pseudoValue = this.pseudoValue;
        const salt = this.salt;
        const len = pseudoValue.length;
        let byteLength = 0;
        const valueBytes = new Uint8Array(len * 4);
        const saltBytes = kdbxweb.Random.getBytes(len * 4);
        let ch;
        let bytes;
        for (let i = 0; i < len; i++) {
            ch = String.fromCharCode(pseudoValue.charCodeAt(i) ^ salt[i]);
            bytes = kdbxweb.ByteUtils.stringToBytes(ch);
            for (let j = 0; j < bytes.length; j++) {
                valueBytes[byteLength] = bytes[j] ^ saltBytes[byteLength];
                byteLength++;
            }
        }
        return new kdbxweb.ProtectedValue(
            valueBytes.buffer.slice(0, byteLength),
            saltBytes.buffer.slice(0, byteLength)
        );
    }
});