Sunday 17 March 2019

Encode in JS Decode in PHP

Encode in JS Decode in PHP OR Any Server Side Language.


/

Example:-

JS Base64 Encode.

var str = btoa(String);

Str = Sanju after base 64 encode = (U2FuanU=)

Here gocheck () is a function which will break the above input string (U2FuanU=) into single pieces of characters. Basically for each character, we are generating two fixed length of random string of alphanumeric characters that is of length of 10 from colate() function given below. Then by keeping each obtained alphanumeric string on left and right side of the piece of character we will form a new string. Repeating the process by loop for each character we can see below the output chunk of strings.


abcde78iky U frcse28ik2 = abcde78ikySfrcse28ik2

arwde58iky 2 frcee68ik2 = arwde58ikyafrcee68ik2

arwde58iky F frcee68ik2 = arwde58ikyafrcee68ik2

arwde58iky u frcee68ik2 = arwde58ikyafrcee68ik2

arwde58iky a frcee68ik2 = arwde58ikyafrcee68ik2

arwde58iky n frcee68ik2 = arwde58ikyafrcee68ik2

arwde58iky U frcee68ik2 = arwde58ikyafrcee68ik2

arwde58iky = frcee68ik2 = arwde58ikyafrcee68ik2



Combining all we have a new string that is :-

abcde78ikySfrcse28ik2arwde58ikyafrcee68ik2arwde58ikyafrcee68ik2arwde58ikyafrcee68ik2arwde58ikyafrcee68ik2arwde58ikyafrcee68ik2arwde58ikyafrcee68ik2


So The final output string to be passed in ajax parameter is given above.


*/

//Ajax Request Function
Input = sanju

function check(email,password){
var b1 = gocheck(btoa(email));
var b2 = gocheck(btoa(password));
$.ajax({
url: '?'+colate()+'='+b1+'&'+colate()+'='+b2,
type: "get",
beforeSend: function(){},
success: function(result){
var res = JSON.parse(result);
if(res.message == 'success'){
window.location.href = "dashboard";
}else{
$('#message').html(res.message);
}
}});
}





function gocheck(value)
{
var main = "";
for(var i=0;i<value.length;i++)
{
var ch = value.charAt(i);
main += colate()+ch+colate();
}
return main;
}
function colate()
{
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 10; i++)
text += possible.charAt(Math.floor(Math.random() * possible.length));return text;
}

Server Side PHP Code to decode



function colate_desolve($token1){
$char = array();
for($i=0;$i<300;$i++){
if($i == 0){
$token1 = substr($token1,10);
}else{
$token1 = substr($token1,20);
}
if(substr($token1, 0,1)){
$char[] = substr($token1, 0,1);
}else{
break;
}
$token1 = substr($token1,1);
}

$colate = preg_replace('/\s+/','',$ch1);
return base64_decode($colate);
}

$email = sanitize::WAF(colate_desolve($_POST['email']));

Output:

sanju