libc-crypt
Version:
A JavaScript implementation of the Unix libc crypt
28 lines (22 loc) • 742 B
JavaScript
var Md5Crypt = require('./md5-crypt');
var UnixCrypt = require('./unix-crypt');
function crypt(key, salt) {
if (!salt) {
throw new Error('sha2 crypt not implemented yet');
}
//if (salt == null) {
// return Sha2Crypt.sha512Crypt(keyBytes);
//} else if (salt.startsWith(Sha2Crypt.SHA512_PREFIX)) {
// return Sha2Crypt.sha512Crypt(keyBytes, salt);
//} else if (salt.startsWith(Sha2Crypt.SHA256_PREFIX)) {
// return Sha2Crypt.sha256Crypt(keyBytes, salt);
//} else
if (salt.indexOf(Md5Crypt.MD5_PREFIX) == 0) {
return Md5Crypt.crypt(key, salt);
} else {
return UnixCrypt.crypt(key, salt);
}
}
module.exports = {
crypt: crypt
}