function random(len) {
        /* node */ if (typeof module !== 'undefined' && module && module['exports'])
            try {
                return require("crypto")['randomBytes'](len);
            } catch (e) {}
        /* WCA */ try {
            var a; (global['crypto']||global['msCrypto'])['getRandomValues'](a = new Uint32Array(len));
            return Array.prototype.slice.call(a);
        } catch (e) {}
        /* fallback */ if (!randomFallback)
            throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");
        return randomFallback(len);
    }
/**
     * Generates cryptographically secure random bytes.
     * @function
     * @param {number} len Bytes length
     * @returns {!Array.<number>} Random bytes
     * @throws {Error} If no random implementation is available
     * @inner
     */
Generates cryptographically secure random bytes.
Generates cryptographically secure random bytes .
function random(len) {
         if (typeof module !== 'undefined' && module && module['exports'])
            try {
                return require("crypto")['randomBytes'](len);
            } catch (e) {}
         try {
            var a; (global['crypto']||global['msCrypto'])['getRandomValues'](a = new Uint32Array(len));
            return Array.prototype.slice.call(a);
        } catch (e) {}
         if (!randomFallback)
            throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");
        return randomFallback(len);
    }
function random ( len ) { if ( typeof module !== 'undefined' && module && module [ 'exports' ] ) try { return require ( "crypto" ) [ 'randomBytes' ] ( len ) ; } catch ( e ) { } try { var a ; ( global [ 'crypto' ] || global [ 'msCrypto' ] ) [ 'getRandomValues' ] ( a = new Uint32Array ( len ) ) ; return Array . prototype . slice . call ( a ) ; } catch ( e ) { } if ( ! randomFallback ) throw Error ( "Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative" ) ; return randomFallback ( len ) ; }
Generates cryptographically secure random bytes.
Generates cryptographically secure random bytes .
/* node */ /* WCA */ /* fallback */