forked from rachanon/stdbWeb
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
153 lines
3.9 KiB
9 years ago
|
<!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>
|