1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
3.9 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Login Form</title>
<link rel="stylesheet" href="css/style.css">
<link rel="shortcut icon" type="image/png" href="https://avatars1.githubusercontent.com/u/17867603?v=3&s=200"/>
<script src="js/jquery-3.0.0.min.js"></script>
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<style>
.flexCenter {
display:flex;
height: 550px;
justify-content: center;
align-items:center;
}
</style>
</head>
<body>
<section class="container">
<div class="login">
<h1>Login to STDB</h1>
<form method="post" >
<p><input type="text" name="login" value="" placeholder="token"></p>
<p class="submit"><input type="button" value="decode" onClick="pasuser()"></p>
</form>
</div>
</section>
</body>
<script language="javascript">
function pasuser(form) {
var string = 'eyJ1c2VybmFtZSI6InJhY2hhbm9uIiwib3JpZ19pYXQiOjE0NjYxNTM5NDcsInVzZXJfaWQiOjEsImVtYWlsIjoiIiwiZXhwIjoxNDY2NTg1OTQ3fQ'
var jwpStdb={
_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
encode:function(e){var t="";
var n,r,i,s,o,u,a;
var f=0;e=jwpStdb._utf8_encode(e);
while(f<e.length){
n=e.charCodeAt(f++);
r=e.charCodeAt(f++);
i=e.charCodeAt(f++);s=n>>2;
o=(n&3)<<4|r>>4;
u=(r&15)<<2|i>>6;
a=i&63;
if(isNaN(r)){
u=a=64
}
else if(isNaN(i)){
a=64
}
t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)
}
return t
},
decode:function(e){
var t="";
var n,r,i;
var s,o,u,a;
var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");
while(f<e.length){
s=this._keyStr.indexOf(e.charAt(f++));
o=this._keyStr.indexOf(e.charAt(f++));
u=this._keyStr.indexOf(e.charAt(f++));
a=this._keyStr.indexOf(e.charAt(f++));
n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;
t=t+String.fromCharCode(n);
if(u!=64){
t=t+String.fromCharCode(r)
}
if(a!=64){
t=t+String.fromCharCode(i)
}
}
t=jwpStdb._utf8_decode(t);
return t
},
_utf8_encode:function(e){
e=e.replace(/rn/g,"n");
var t="";
for(var n=0;n<e.length;n++){
var r=e.charCodeAt(n);
if(r<128){
t+=String.fromCharCode(r)
}
else if(r>127&&r<2048){
t+=String.fromCharCode(r>>6|192);
t+=String.fromCharCode(r&63|128)
}
else{
t+=String.fromCharCode(r>>12|224);
t+=String.fromCharCode(r>>6&63|128);
t+=String.fromCharCode(r&63|128)
}
}
return t
},
_utf8_decode:function(e){
var t="";
var n=0;
var r=c1=c2=0;
while(n<e.length){
r=e.charCodeAt(n);
if(r<128){
t+=String.fromCharCode(r);
n++
}
else if(r>191&&r<224){
c2=e.charCodeAt(n+1);
t+=String.fromCharCode((r&31)<<6|c2&63);
n+=2
}
else{
c2=e.charCodeAt(n+1);
c3=e.charCodeAt(n+2);
t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);
n+=3
}
}
return t
}
}
// Define the string
// Encode the String
// var encodedString = jwpStdb.encode(string);
console.log(string); // Outputs: "SGVsbG8gV29ybGQh"
console.log('=====================');
// Decode the String
var decodedString = jwpStdb.decode(string);
console.log(decodedString);
var res = decodedString.replace(' ', '');
console.log(res);
console.log(decodedString.length);
console.log(res.length);
console.log(typeof decodedString);
JSON.parse(res, function(k, v) {
if (k==='user_id'){
console.log(v) // return the unchanged property value.
}
});
}
</script>
</html>