@fnlb-project/stanza
Version:
Modern XMPP in the browser, with a JSON API
27 lines (26 loc) • 672 B
JavaScript
/* istanbul ignore file */
import Hash from './Hash';
import MD5 from './MD5';
import SHA1 from './SHA-1';
import SHA256 from './SHA-256';
import SHA512 from './SHA-512';
const HASH_IMPLEMENTATIONS = new Map([
['md5', MD5],
['sha-1', SHA1],
['sha-256', SHA256],
['sha-512', SHA512],
['sha1', SHA1],
['sha256', SHA256],
['sha512', SHA512]
]);
export { Hash };
export default function createHash(alg) {
alg = alg.toLowerCase();
const HashImp = HASH_IMPLEMENTATIONS.get(alg);
if (HashImp) {
return new HashImp();
}
else {
throw new Error('Unsupported hash algorithm: ' + alg);
}
}