GET发送的PHP加密参数损坏[重复]

Posted

技术标签:

【中文标题】GET发送的PHP加密参数损坏[重复]【英文标题】:PHP encrypted parameter sent by GET corrupted [duplicate] 【发布时间】:2015-12-22 09:12:20 【问题描述】:

我正在通过电子邮件对用户进行安全验证。我正在使用 base64_encode 函数加密用户电子邮件 ID,并将其作为链接发送到用户电子邮件。

例如。 mysite.php?token=sdjfh348+4h8hjheh+f8935ykjhfs_jkfh=938

当用户单击链接时,我提取令牌值并使用 mcrypt_decrypt 函数对其进行解密。这应该与数据库表中的电子邮件匹配。

当我使用 $_GET['token'] 提取令牌值时,我没有得到确切的值,值中的 + 等符号丢失。这会导致错误的解密。

如何解决这个问题?

【问题讨论】:

+ 符号在 URI 中具有特殊含义。对它们进行编码。 【参考方案1】:

如果您希望正确发送 GET 变量,则需要对它们进行 URL 编码。

您可以在 PHP 中使用 url_encode 函数。

【讨论】:

以上是关于GET发送的PHP加密参数损坏[重复]的主要内容,如果未能解决你的问题,请参考以下文章

esp32 和 php XXTEA 字符串加密

PHP 通过 URL 发送加密数据

使用 php/mcrypt 加密文件会损坏 docx(和其他 Microsoft Office 2007)文件,但其他文件很好

PHP openssl加密扩展使用总结

php 证书加密 和证书解密方法

PHP双向加密[重复]