35 lines
721 B
JavaScript
35 lines
721 B
JavaScript
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = isHash;
|
||
|
|
||
|
var _assertString = require('./util/assertString');
|
||
|
|
||
|
var _assertString2 = _interopRequireDefault(_assertString);
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
var lengths = {
|
||
|
md5: 32,
|
||
|
md4: 32,
|
||
|
sha1: 40,
|
||
|
sha256: 64,
|
||
|
sha384: 96,
|
||
|
sha512: 128,
|
||
|
ripemd128: 32,
|
||
|
ripemd160: 40,
|
||
|
tiger128: 32,
|
||
|
tiger160: 40,
|
||
|
tiger192: 48,
|
||
|
crc32: 8,
|
||
|
crc32b: 8
|
||
|
};
|
||
|
|
||
|
function isHash(str, algorithm) {
|
||
|
(0, _assertString2.default)(str);
|
||
|
var hash = new RegExp('^[a-f0-9]{' + lengths[algorithm] + '}$');
|
||
|
return hash.test(str);
|
||
|
}
|
||
|
module.exports = exports['default'];
|