gpt4 book ai didi

PHP 加密和解密,而不是 base64 编码

转载 作者:可可西里 更新时间:2023-10-31 22:12:32 26 4
gpt4 key购买 nike

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

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

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

有点像

Normal string : 9876543210  -> After encrypt with a key -> AASASOOPFPOEROP45664654456
Encrypted string : AASASOOPFPOEROP45664654456 -> on decrypt -> 9876543210

我当前的代码

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

请帮帮我。提前致谢

最佳答案

好吧,如果您使用的是 base64 编码/解码,那么您并没有加密数据,只是混淆了数据。

我不知道 godaddy 启用了哪些 php 扩展,所以我建议使用 phpSecLib 之类的东西

http://phpseclib.sourceforge.net/

它是一个独立的实现,您可以将其包含在您的脚本中,并将提供对您的数据的实际加密。 AES 或 Rijndael 应该适合您的应用程序

基本上,它会使用 key 加密字符串,即使您的数据库遭到破坏,如果没有加密数据的 key (您会将其硬编码到脚本中),也无法解密数据。这不同于简单地对其进行编码,在这种情况下,如果有人掌握了数据库,他们可以通过各种不同的编码方法运行第一个字符串来对其进行解码,直到找到有效的方法。然后通过同样的解码方式运行剩下的

关于PHP 加密和解密,而不是 base64 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com