validation在NodeJS中使用php crypt()生成的哈希?
我有一个运行在其上的锂框架的PHP 5.3 Web服务器。
我有CRYPT_BLOWFISH
生成的密码哈希值:
public static function hash($password, $salt = null) { return crypt($password, $salt ?: static::salt()); }
他们得到这个检查:
public static function check($password, $hash) { return String::compare(crypt($password, $hash), $hash); }
我正在寻找使我能够检查和生成类似哈希值的NodeJS
脚本:
我已经尝试了这一点(现在检查):
var c = crypto.createCipher('bf-cfb', password); var res = c.update(hash); res += c.final('utf8');
哪里(不是确切的变数,但看起来像这样):
var hash = '$2a$10$nA5CV2XWJGn0cbKxSHU3GOp29ypHNVJDglJ0iNFx2zFkfy3mrsRZK'; // from php var salt = '$2a$10$nku2zgjB65zLdcVC1BIhG.'; // from php too var password = 'passwordInClearTextToCheck'; // correct password to check
是否有可能实现?
Crypt()函数使用不同的algorithm,这不是原始的Blowfishencryption/解密。 由于node.js没有Crypt()实现,所以我build议使用SHA1 / SHA256 /其他的密码来encryption密码。
- 如何使用Node.js和Passport进行身份validation后,使用自己的ID将用户redirect到主页?
- 具有Express和Mongoose的BasicAuth
- 在passportjs响应之前的Expressjs / Change header
- 没有Passport.js的Google +身份validation
- 有没有办法获得Firebase身份validation用户的UID?
- nodejs HTTP摘要authentication不起作用
- PassportJS – GET请求中的login凭据?
- 尝试发出POST请求注册新用户时出现404错误
- 在不同情况下使用Passport.js更改并保存redirect