UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

24 lines 1.71 kB
import { algo, PBKDF2 } from 'crypto-js'; import { CryptoHelper } from './crypto-helper'; /** * PBKDF2 function (pssword-based key derivation function) * @param input * @param salt * @iterations * @param keySize number of 32 bit words */ export function pbkdf2(input, salt, iterations, keySize) { const wordInput = CryptoHelper.sanitizeInput(input); const wordSalt = CryptoHelper.sanitizeInput(salt); const options = { iterations, keySize, hasher: algo.SHA256, }; if (options.keySize === undefined) { delete options.keySize; } const hash = PBKDF2(wordInput, wordSalt, options); return CryptoHelper.wordArrayToByteArray(hash); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJrZGYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY3J5cHRvL3NyYy9saWIvcGJrZGYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFhLE1BQU0sV0FBVyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNwQixLQUEwQixFQUMxQixJQUF5QixFQUN6QixVQUFrQixFQUNsQixPQUFnQjtJQUVoQixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsTUFBTSxPQUFPLEdBQUc7UUFDZCxVQUFVO1FBQ1YsT0FBTztRQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtLQUNwQixDQUFDO0lBQ0YsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtRQUNqQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDeEI7SUFDRCxNQUFNLElBQUksR0FBYyxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RCxPQUFPLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRCxDQUFDIn0=