Revision f20699d6-c9dd-461f-9386-a8fdb96c2593 - Stack Overflow

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 decrpting.
can anyone please tell me, what is problem.
(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;
 }
 ?>

AltStyle によって変換されたページ (->オリジナル) /