使用passport.js进行密码加密

时间:2016-01-06 12:14:57

标签: node.js security authentication passwords passport.js

我正在使用express.js作为后端构建单页应用。目前我正在使用passport.js本地策略进行身份验证,使用bcrypt在db上保存加密密码。在身份验证期间,用户提供的密码再次加密,并与存储在db上的密码相对应。但是,我目前正在以明文形式将密码发送到服务器,我理解这是一个非常糟糕且不安全的做法。要正确地做到这一点,我理解我必须:

  • 在服务器上创建随机字节并将其发送到客户端

  • 在客户端上创建随机字节

  • 连接加密密码和两组字节并加密所有字节

  • 将加密对象和客户端上生成的字节作为明文发送回服务器

  • 在服务器上重现相同的加密对象并检查有效的身份验证

我可以使用bcrypt和客户端上的一些随机生成器再次执行此操作,但我有强烈的感觉我不应该自己实现它。有一些与护照或一些我不知道的节点库的集成?

1 个答案:

答案 0 :(得分:2)

您可以使用HTTPS(SSL)加密服务器 - 客户端之间的通信