diff --git a/src/login.js b/src/login.js index 2bcac0f..c122a2a 100644 --- a/src/login.js +++ b/src/login.js @@ -3,9 +3,22 @@ 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 = request.body.password; + var password = cyrb53(request.body.password, 5).toString(); if (username && password) { let user = User.findOne({ name: username, pass: password