我正在寻找crypt(3)在 javascript 中的实现。(不是通用的“crypt”算法,而是/etc/shadow
在 Linux 系统中使用的 crypt(3) 算法)。有人见过吗?使用开放许可证?
我也有点担心性能:甚至可以用 javascript 编写一个吗?例如sha512-crypt 源有:
/* Repeatedly run the collected hash value through SHA512 to burn
CPU cycles. */
for (cnt = 0; cnt < rounds; ++cnt)
{ ... }
因此,如果算法在 C 中“消耗 CPU 周期”,它会在 javascript 中做什么?炒?(例如在 IE6 中?哎呀!)我不是在 javascript 中编写蛮力攻击工具,只是在蓝月亮中进行一次 crypt 调用,所以也许它会没事的。
背景:我们希望从用户提供的/etc/password
//etc/shadow
文件中为我们的 webapp 导入用户。由于我们拥有的关于用户密码的唯一信息是 crypt(3) 输出格式,因此为了避免以明文形式发送回用户密码,据我所知,我们需要一个客户端(javascript ) crypt(3) 的实现,因此当网络服务器提供 salt 时,客户端会发回 crypt(3) 输出(为安全起见适当散列)。
/etc/password
使用 crypt(3) 客户端的任何替代方法,允许我们安全地针对/验证服务器端/etc/shadow
并且不需要 https://,也将被视为有效答案。