繁体   English   中英

使用base64和密钥在PHP中进行数据加密

[英]data encryption in PHP using base64 with key

我正在使用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;
}
?>

基本上...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM