I am using base64 for encryption and decryption.
But for some values, encrypted data is not decrypting properly and add special characters. Using current key, word 'skype' is not encrypting and decrypting correctly instead special characters appear on decrypting.
Can anyone please tell me, what the problem is? (code is simple available on Google but I have checked blogs and forum, can't find any such thing related to this issue, which means problem is in my code)
encrypt.php
<?php
$id= $_GET['id'];
$encrypted = encrypt($id, "check");
echo $encrypted ;
function encrypt($string, $key)
{
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
?>
decrypt.php
<?php
$id= $_GET['id'];
$decrypted = decrypt($id, "check");
echo $decrypted ;
function decrypt($string, $key)
{
$result = '';
$string = base64_decode($string);
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)-ord($keychar));
$result.=$char;
}
return $result;
}
?>
for($i=0; $i<strlen($string); $i++) { $char = substr($string, $i, 1); $keychar = substr($key, ($i % strlen($key))-1, 1); $char = chr(ord($char)+ord($keychar)); $result.=$char; }for "encrypting"mk5?!? Do you meanmd5? No,md5is a hashing algorithm. It's one-way (you can't get the cow back from the beefburger), and flawed