47 lines
No EOL
1.4 KiB
JavaScript
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 |