我一直在尝试在 node.js 应用程序中创建 ubuntu 用户密码哈希。
我会调用crypt(3)函数,但我很难从节点内部找到一种方法。这很容易做到吗?Afaik,这在 python 中相当容易(参见analog-perl-crypt-function-in-node-js)。
这就是为什么我mkpasswd -s -m des '#{pass}'
在exec
调用中使用,获取stdout
内容以访问哈希并将其传递给useradd -p #{hash}
自动用户生成。我知道这样密码在进程列表中是可见的。我想避免这种情况。
像这样的工作命令的常见输出是
me@server:~$ mkpasswd -m des 'test'
Xnhhy1HbwhA1k
像这样的哈希是我想在我的应用程序中实现的。
我一直在尝试使用crypto
,bcrypt
或cryptojs
在应用程序内创建哈希,从而避免在服务器进程列表上出现任何可见性。但是我创建的每个DES
哈希都不起作用。
例如,cryptojs
使用以下代码会有点错误:
salt = 'This is a salt'
result = crypto.DES .encrypt 'test', salt
console.log result
Output: K0dLSddKUcmkOaoC
我在尝试使用 DES 时是否正确?