如何检查 crypt(3) sha512 密码?

How to check crypt(3) sha512 password?

给定一个密码哈希,

$rounds=500000$RzOKKJIKZ18arhBR$E2JyKkCOZZXva89rAzvQOZxL1rZ.1wt9uC4yEVr0YkZkTbpi1bd7QBexgpbbc5qI4NvntJQAlrYSPg2bSvVr5/

和纯文本密码,我如何验证密码是否与 Node.js 中的哈希匹配?

到目前为止,我已经尝试了三种不同的库,其中 none 支持 $。官方的加密库似乎支持 sha512,但是 createHash 方法不会像那样加盐。

我正在使用 Node 6.2。密码是使用 PHP 的 crypt function which I believe is just a wrapper around the C library function.

创建的

crypt3 is able to check 通过调用本机 C 库获得此类密码。