密码和账号以密文和明文的形式储存在 cookie 中 以下是加密和保存的代码 function i(e) { var n; Object(c.a)(this, i), (n = t.call(this, e)).state = { isDoing: !1, err: null, isShowQR: !1, QR: "", QRSec: 0, QRTimer: 0 }, n.V = { remember: !1, password: "", username: "", randomPassword: "" }, n.f_key = function(e) { return $.a.enc.Utf8.parse(e.slice(-4) + e + "12345678") } , n.check = function() { j.a.post(be.url, { DoWhat: "Check" }).then((function(e) { var t = e.data; !0 === t.Result && (x.b.success(t.Message, 5), be.App.setState({ isLogin: !0 })) } )).catch((function(e) { x.b.error("\u901a\u8baf\u5931\u8d25\uff01\u8bf7\u68c0\u67e5\u7f51\u7edc\u662f\u5426\u6b63\u5e38\u63a5\u5165\uff01") } )) } , n.onFinish = function(e) { if (x.b.destroy(), n.setState({ isDoing: !0 }), e.DoWhat = "Login", e.username !== n.V.username || e.password !== n.V.randomPassword ? e.password = $.a.DES.encrypt(e.password, n.f_key(e.username), { mode: $.a.mode.ECB, padding: $.a.pad.Pkcs7 }).ciphertext.toString() : e.password = n.V.password, e.remember) { var t = new Date(Date.now() + 2592e6); ie.a.save("username", e.username, { dt: t, maxAge: 2592e3 }), ie.a.save("password", e.password, { dt: t, maxAge: 2592e3 }) } else ie.a.remove("username"), ie.a.remove("password"), ie.a.remove("remember"); j.a.post(be.url, e).then((function(e) { var t = e.data; !1 === t.Result ? (x.b.error(t.Message, 5), n.setState({ err: t.Message })) : !0 === t.Result && (x.b.success(t.Message, 5), be.App.setState({ isLogin: !0 })) } )).catch((function(e) { x.b.warning("\u901a\u8baf\u5931\u8d25\uff01\u8bf7\u68c0\u67e5\u7f51\u7edc\u662f\u5426\u6b63\u5e38\u63a5\u5165\uff01") } )).finally((function() { n.setState({ isDoing: !1 }) } )) } , n.onFinishVisitor = function(e) { x.b.destroy(), n.setState({ isDoing: !0 }), e.DoWhat = "Login", e.username = "V" + e.username, e.password = $.a.DES.encrypt(e.password, n.f_key(e.username), { mode: $.a.mode.ECB, padding: $.a.pad.Pkcs7 }).ciphertext.toString(), j.a.post(be.url, e).then((function(e) { var t = e.data; !1 === t.Result ? x.b.error(t.Message, 5) : !0 === t.Result && (x.b.success(t.Message, 5), be.App.setState({ isLogin: !0 })) } )).catch((function(e) { x.b.warning("\u901a\u8baf\u5931\u8d25\uff01\u8bf7\u68c0\u67e5\u7f51\u7edc\u662f\u5426\u6b63\u5e38\u63a5\u5165\uff01") } )).finally((function() { n.setState({ isDoing: !1 }) } )) } 已断点测试 加密逻辑如上
Read more