우리는express와mongoDB에서 비밀번호를 어떻게 보호합니까
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")
});
위의 코드는 로그인 사용자입니다. 지정되었습니다.
Reference
이 문제에 관하여(우리는express와mongoDB에서 비밀번호를 어떻게 보호합니까), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/deepakjaiswal/how-we-secure-our-password-in-express-and-mongodb-5heg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)