text-display/src/login.js
2022-02-21 16:43:57 +01:00

47 lines
No EOL
1.4 KiB
JavaScript

const User = require('./model/user');
const express = require('express')
const router = express.Router()
const cyrb53 = function(str, seed = 0) {
let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;
for (let i = 0, ch; i < str.length; i++) {
ch = str.charCodeAt(i);
h1 = Math.imul(h1 ^ ch, 2654435761);
h2 = Math.imul(h2 ^ ch, 1597334677);
}
h1 = Math.imul(h1 ^ (h1>>>16), 2246822507) ^ Math.imul(h2 ^ (h2>>>13), 3266489909);
h2 = Math.imul(h2 ^ (h2>>>16), 2246822507) ^ Math.imul(h1 ^ (h1>>>13), 3266489909);
return 4294967296 * (2097151 & h2) + (h1>>>0);
};
router.post('/auth', function(request, response) {
var username = request.body.username;
var password = cyrb53(request.body.password, 5).toString();
if (username && password) {
let user = User.findOne({
name: username, pass: password
}, function(err, results) {
if (results !=null) {
console.log(results.name);
if (results.name.length > 0) {
request.session.loggedin = true;
request.session.username = username;
request.session.password = password
response.redirect('/edit');
} else {
response.send('Incorrect Username and/or Password!');
}
response.end();
} else {
response.send('Use a registered username Please.')
}
});
} else {
response.send('Please enter Username and Password!');
response.end();
}
});
module.exports = router