gpt4 book ai didi

php - 如何编码/加密通过 URL 参数传输的 secret 数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:03 24 4
gpt4 key购买 nike

故事是这样的:

我必须将一些 secret 信息从一个脚本传递到另一个脚本。在第一个脚本中,我需要先加密数据,然后我必须将加密数据附加到 GET 请求中并将其发送到另一个脚本。该 URL 将如下所示:

http://mydomain.com/mysecondscript.php?secret={encrypted stuff}

我目前的加密方式是基于base64。这种方法的问题是,如果我有很多东西要加密,加密结果可能会很长。如果它超过 255 个字符左右,第二个脚本将无法解密它,因为字符串将被截断。

所以我正在寻找一种更好的加密方法,可以控制加密结果的长度。

最佳答案

危险!

Base64 不是一种加密形式,而是一种编码。 Base64 编码的字符串易于识别且解码起来很简单。 Base64 用于对数据进行编码,以便它们可以通过非二进制安全介质(例如 URL 和电子邮件)安全地传输,但它们不会隐藏数据本身。

您需要做的是使用 AES 加密字符串(请参阅 PHP 的 mcrypt ),然后进行 base64 编码。这当然不会解决你的长度问题。这个问题很模糊,但你可以做的是:

  • 使用 POST 而不是 GET。
  • 将数据存储在两个脚本都可以访问的数据库或文件中。然后只需生成一种标识符并将其与 URL 一起发送。接收脚本可以使用这个标识符来检索数据。作为额外的好处,您不必使用 URL 发送分类数据。

编辑: 现在我更仔细地阅读了您的问题,两个脚本似乎都位于同一台服务器上。在这种情况下,没有任何理由通过 HTTP 传递此数据。

关于php - 如何编码/加密通过 URL 参数传输的 secret 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3473651/

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