728x90
Node.js 3차 미니프로젝트 Node.js 비밀번호 암호화
Node.js 비밀번호 hash
📌 활용한 라이브러리
npm i crypto
📄 signup
const crypto = require('crypto');
const { User } = require("../models");
const { userType, email, phoneNumber, password, name, address, point } = req.body;
const hashPassword = crypto.createHash('sha512').update(req.body.password + 10).digest('hex');
await User.create({ userType, email, phoneNumber, password:hashPassword, name, address, point });
임의의 값으로 넣은 10은 사실 난수를 발생시켜 넣어주면 좋지만,
const salt = crypto.randomBytes(128).toString('base64');
난수값도 db에 저장해야 해서 table 변경이 필요하다..
난수값은 여러 자료를 찾아보니 salt라는 변수로 쓴다.
좀 귀찮아서 그냥 했다.
65f0e26760f01c88f13ffffd60fc4c2352097b6fd9ba868298fe9827440140a1dbf65da261161dc3dfa8da641b9e58aa033e12550549e4a299d944328352b3ca
이런 형태의 복호화는 어렵고 암호화만 가능한 hash값이 들어간다.
📄 login
const crypto = require('crypto');
const { User } = require("../models");
const { email, password } = req.body;
const hashPassword = crypto.createHash('sha512').update(req.body.password + 10).digest('hex');
const userId = await User.findOne({
where: {email, password:hashPassword}
});
'JavaScript' 카테고리의 다른 글
EJS공부 & 팀원 코드 이해하기1 (0) | 2023.01.06 |
---|---|
내일배움캠프 4기_Node 3차 미니프로젝트 html 가져오기 (0) | 2023.01.05 |
Node.js 3차 미니프로젝트 middleware, local Storage (0) | 2023.01.03 |
Node.js 3차 미니프로젝트 ejs html적용 (0) | 2023.01.03 |
Node.js 3차 미니프로젝트 middleware, auth (0) | 2023.01.03 |