_createIV(hashAlgorithm, saltValue, blockSize, blockKey) {
        // Create the block key from the current index
        if (typeof blockKey === "number") blockKey = this._createUInt32LEBuffer(blockKey);

        // Create the initialization vector by hashing the salt with the block key.
        // Truncate or pad as needed to meet the block size.
        let iv = this._hash(hashAlgorithm, saltValue, blockKey);
        if (iv.length < blockSize) {
            const tmp = Buffer.alloc(blockSize, 0x36);
            iv.copy(tmp);
            iv = tmp;
        } else if (iv.length > blockSize) {
            iv = iv.slice(0, blockSize);
        }

        return iv;
    }
Create an initialization vector (IV)
@param {string} hashAlgorithm - The hash algorithm
@param {Buffer} saltValue - The salt value
@param {number} blockSize - The size of the IV
@param {Buffer|number} blockKey - The block key or an int to convert to a buffer
@returns {Buffer} The IV
@private