使用 passport.js 进行密码加密
Password encryption with passport.js
我正在构建一个以 express.js 作为后端的单页应用程序。目前我正在使用 passport.js 本地身份验证策略,使用 bcrypt 将加密密码保存在 db 上。认证时,将用户提供的密码重新加密,并与数据库中存储的密码进行对比。但是,我目前正在将密码以明文形式发送到服务器,我知道这是一种非常糟糕且不安全的做法。要正确执行此操作,我知道我必须:
在服务器上创建随机字节并将它们发送到客户端
在客户端创建随机字节
将加密的密码和两组字节连接起来并全部加密
将客户端生成的加密对象和字节以明文形式发回服务器
在服务器上重现相同的加密对象并检查有效的身份验证
我可以在客户端使用 bcrypt 和一些随机生成器再次执行此操作,但我有强烈的感觉我不应该自己实现它。有一些与护照或我不知道的节点库的集成?
您可以使用 HTTPS (SSL) 加密 server-client
之间的通信
我正在构建一个以 express.js 作为后端的单页应用程序。目前我正在使用 passport.js 本地身份验证策略,使用 bcrypt 将加密密码保存在 db 上。认证时,将用户提供的密码重新加密,并与数据库中存储的密码进行对比。但是,我目前正在将密码以明文形式发送到服务器,我知道这是一种非常糟糕且不安全的做法。要正确执行此操作,我知道我必须:
在服务器上创建随机字节并将它们发送到客户端
在客户端创建随机字节
将加密的密码和两组字节连接起来并全部加密
将客户端生成的加密对象和字节以明文形式发回服务器
在服务器上重现相同的加密对象并检查有效的身份验证
我可以在客户端使用 bcrypt 和一些随机生成器再次执行此操作,但我有强烈的感觉我不应该自己实现它。有一些与护照或我不知道的节点库的集成?
您可以使用 HTTPS (SSL) 加密 server-client
之间的通信