どのように我々はパスワードとパスワードをセキュア


多くの開発者は、悪意のあるユーザを介してパスワードを安全にする方法を考えます.
Expressでは、“bcrypt”という名前のライブラリを議論し、データをハッシュし、このハッシュされたデータは、このライブラリの最良の特徴であるユーザを解読しません.
システムにインストール

npm i express mongoose bcrypt



ユーザスキーマ.js
const {Schema,model}=mongoose
const userSchema=new Schema({
username:String,
password:String
)}
const User=model('user',userSchema)
module.exports=User

このAPIエンドポイントを介してデータを送信する

インデックス.js
router.post('/api/register',acync (req,res)=>{
    const {username,password}=req.body
                    const oldUser=await User.findOne({username})
    if(oldUser) return res.status(400).send("User already registered")
    const salt=await bcrypt.getSalt(10)
    const hashPassword=await bcrypt.hash(password,salt);
                    const user=new User({username,password:hashPassword})
                    const result=await user.save()
    res.status(200).send(result);
             });
上記の例は、それを登録して、彼らのデータを保存しました


router.post('/api/login',acync (req,res)=>{
    const {username,password}=req.body
    const user=await User.findOne({username})
    (!user) return res.status(404).send("User Not Found")
    const hashPassword=await bcrypt.compare(password,user.password);
                    if(user && hashPassword)
    return res.send({username,password:hashPassword});
    else
    return res.status(400).send("password is wrong")
             });


上記のコードは、ログインしてユーザーを驚かせる.