【问题标题】:Encrypt Integers in PHP在 PHP 中加密整数
【发布时间】:2011-11-10 08:41:47
【问题描述】:

我注意到 PHP 中的 openssl 和 mcrypt 函数都只接受要加密为字符串的数据。这意味着 (int)1234567890 的值在最初只是一个 4 字节的 int 时被转换和加密为 10 字节的字符串。是否有任何加密方法(与 PHP 捆绑或作为外部函数/类)允许对整数进行加密?

【问题讨论】:

    标签: php encryption openssl mcrypt


    【解决方案1】:

    没有。如果要将整数加密为 4 字节二进制表示,则必须对其进行预转换:

    $bin = pack("L", $int);    // unsigned 4-byte integer
    xyz_crypt(...)
    

    unpack 解密后再次出现。

    【讨论】:

    • 正是我需要知道的。谢谢!
    【解决方案2】:

    mcrypt 对字符串而不是整数进行操作,因此您需要使用pack() 来将整数打包成一个 4 字节的字符串。 (显然,反函数是unpack()。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      相关资源
      最近更新 更多