шифрование данных в PHP с использованием base64 с ключом

Я использую base64 для шифрования и дешифрования.

Но для некоторых значений зашифрованные данные не расшифровываются должным образом и добавляют специальные символы.
Используя текущий ключ, слово «skype» не шифрует и не дешифрует правильно, вместо этого при расшифровке появляются специальные символы.

Может кто-нибудь сказать, пожалуйста, в чем проблема?
(код прост в Google, но я проверил блоги и форум, не могу найти ничего такого, что связано с этой проблемой, что означает, что проблема в моем коде)

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;
}
?>

0

Решение

В принципе…

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]