more secure hashing
This commit is contained in:
parent
72b78ebd14
commit
0381f275e0
21
server.js
21
server.js
@ -33,13 +33,18 @@ const dir = __dirname + "/"
|
|||||||
|
|
||||||
const cookiesecret = fs.readFileSync("cookiesecret.txt").toString()
|
const cookiesecret = fs.readFileSync("cookiesecret.txt").toString()
|
||||||
|
|
||||||
function SHA256(str) {
|
function SHA256(str,num) {
|
||||||
|
if(!num && num!==0)num=1;
|
||||||
if(!str)return;
|
if(!str)return;
|
||||||
return crypto
|
let ret = str;
|
||||||
|
for (let i = 0; i < num; i++) {
|
||||||
|
ret = crypto
|
||||||
.createHash("sha256")
|
.createHash("sha256")
|
||||||
.update(str)
|
.update(ret)
|
||||||
.digest("base64");
|
.digest("base64");
|
||||||
}
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -165,7 +170,7 @@ router.get("/api/getuser",async function(req,res) {
|
|||||||
let username = values[0]
|
let username = values[0]
|
||||||
|
|
||||||
for (let i = 0; i < 9999; i++) {
|
for (let i = 0; i < 9999; i++) {
|
||||||
hashed_pw = SHA256(hashed_pw)
|
hashed_pw = SHA256(hashed_pw+username)
|
||||||
}
|
}
|
||||||
|
|
||||||
values[1] = hashed_pw
|
values[1] = hashed_pw
|
||||||
@ -261,14 +266,14 @@ router.post("/register",async function(req,res) {
|
|||||||
}
|
}
|
||||||
let hashed_pw = password;
|
let hashed_pw = password;
|
||||||
for (let i = 0; i < 10000; i++) {
|
for (let i = 0; i < 10000; i++) {
|
||||||
hashed_pw = SHA256(hashed_pw)
|
hashed_pw = SHA256(hashed_pw+username)
|
||||||
}
|
}
|
||||||
let values = [username,hashed_pw]
|
let values = [username,hashed_pw]
|
||||||
let sql = `INSERT INTO zerotwohub.users (User_Name, User_PW) VALUES (?, ?);`
|
let sql = `INSERT INTO zerotwohub.users (User_Name, User_PW) VALUES (?, ?);`
|
||||||
con.query(sql, values, function (err, result) {
|
con.query(sql, values, function (err, result) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
let ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress
|
let ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress
|
||||||
let setTo = username + " " + SHA256(password)
|
let setTo = username + " " + SHA256(password+username,10)
|
||||||
let cookiesigned = signature.sign(setTo, cookiesecret+ip);
|
let cookiesigned = signature.sign(setTo, cookiesecret+ip);
|
||||||
res.cookie('AUTH_COOKIE',cookiesigned, { maxAge: Math.pow(10,10), httpOnly: true, secure: DID_I_FINALLY_ADD_HTTPS });
|
res.cookie('AUTH_COOKIE',cookiesigned, { maxAge: Math.pow(10,10), httpOnly: true, secure: DID_I_FINALLY_ADD_HTTPS });
|
||||||
res.redirect("/user?success=true")
|
res.redirect("/user?success=true")
|
||||||
@ -306,14 +311,14 @@ router.post("/login",async function(req,res) {
|
|||||||
|
|
||||||
let hashed_pw = password;
|
let hashed_pw = password;
|
||||||
for (let i = 0; i < 10000; i++) {
|
for (let i = 0; i < 10000; i++) {
|
||||||
hashed_pw = SHA256(hashed_pw)
|
hashed_pw = SHA256(hashed_pw+username)
|
||||||
}
|
}
|
||||||
|
|
||||||
let userexistssql = `SELECT * from zerotwohub.users where User_Name = ? and User_PW = ?`
|
let userexistssql = `SELECT * from zerotwohub.users where User_Name = ? and User_PW = ?`
|
||||||
con.query(userexistssql,[username,hashed_pw],function(error,result) {
|
con.query(userexistssql,[username,hashed_pw],function(error,result) {
|
||||||
if(result && result[0] && result[0].User_Name && result[0].User_Name==username && result[0].User_PW && result[0].User_PW == hashed_pw) {
|
if(result && result[0] && result[0].User_Name && result[0].User_Name==username && result[0].User_PW && result[0].User_PW == hashed_pw) {
|
||||||
let ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress
|
let ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress
|
||||||
let setTo = username + " " + SHA256(password)
|
let setTo = username + " " + SHA256(password+username,10)
|
||||||
let cookiesigned = signature.sign(setTo, cookiesecret+ip);
|
let cookiesigned = signature.sign(setTo, cookiesecret+ip);
|
||||||
res.cookie('AUTH_COOKIE',cookiesigned, { maxAge: Math.pow(10,10), httpOnly: true, secure: DID_I_FINALLY_ADD_HTTPS });
|
res.cookie('AUTH_COOKIE',cookiesigned, { maxAge: Math.pow(10,10), httpOnly: true, secure: DID_I_FINALLY_ADD_HTTPS });
|
||||||
res.redirect("/user?success=true")
|
res.redirect("/user?success=true")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user