PHP 加密和解密(base64 编码除外)

ram*_*esh 5 php encryption base64

在我们的一个 Web 应用程序(在 PHP、MySQL 中)中,我们将用户的手机号码保存为加密值,并在向他们发送短信时对其进行解密。该应用程序运行良好。但

现在 GoDaddy 删除了选项 base64_encode 和decode。这样我们就无法给用户发送短信了。因此,我们将手机号码恢复到本地运行的正常状态。

我的问题是使用密钥加密和解密字符串的最简单且安全的方法是什么。

就像是

Normal string : 9876543210  -> After encrypt with a key -> AASASOOPFPOEROP45664654456
Encrypted string : AASASOOPFPOEROP45664654456 -> on decrypt -> 9876543210 
Run Code Online (Sandbox Code Playgroud)

我当前的代码

function encodeString($str){
  for($i=0; $i<5;$i++)
  {
    $str=strrev(base64_encode($str)); //apply base64 first and then reverse the string
  }
  return $str;
}


function decodeString($str){
 for($i=0; $i<5;$i++)
 {
    $str=base64_decode(strrev($str)); //apply base64 first and then reverse the string}
 }
 return $str;
}
Run Code Online (Sandbox Code Playgroud)

请帮我 。提前致谢

liy*_*kat 3

在这里,我给你一个简单的例子,你可以使用我们自己的密钥,如下所示

// 加密/解密用的密钥

$key='mysecretkey';// 8-32 个字符,不含空格

// 要加密的字符串

$string1='your sample key, that is the question'; 
Run Code Online (Sandbox Code Playgroud)

// 加密字符串

$string2=convert($string1,$key); 
Run Code Online (Sandbox Code Playgroud)

// 解密回来

$string3=convert($string2,$key);
Run Code Online (Sandbox Code Playgroud)

// 测试输出

  echo '<span style="font-family:Courier">'; 
    echo 'Key: '.$key.'<br>'."\n"; 
    echo $string1.'<br>'."\n"; 
    echo $string2.'<br>'."\n"; 
    echo $string3.'<br>'."\n"; 
    echo '</span>'."\n"; 
Run Code Online (Sandbox Code Playgroud)

输出

Key: mysecretkey
your sample key, that is the question
tvfw#ady{i|-rv|/2q|jq9dj3qkw%e~`jyp|k
your sample key, that is the question
Run Code Online (Sandbox Code Playgroud)

让我知道我可以帮助你更多。

  • 它显示致命错误:在第 4 行 //wp-content/themes/twentytwelve/cov.php 中调用未定义的函数 Convert() (2认同)