【问题标题】:php perl cross-platform encoder/decoderphp perl 跨平台编码器/解码器
【发布时间】:2016-03-10 01:33:32
【问题描述】:

以前是perl编码器

use Crypt::CBC;
$cipher= Crypt::CBC->new( {'key' => $cipherkey,
             'cipher'=> 'Blowfish',
             'iv' => '12345678',
             'regenerate_key' => 0,
             'padding' => 'null',
             'prepend_iv' => 0
            });

可以通过 php 函数很好地解密

mcrypt_cbc(MCRYPT_BLOWFISH, $key, base64_decode($v), MCRYPT_DECRYPT, '12345678')

唉,mcrypt_cbc 不仅现在已被弃用,它也完全从 php7 中消失了。

在 perl 中是否有推荐的编码器可以与标准的新 php 解码器 mcrypt_encrypt 一起使用?

为了我的目的,我不需要超级秘密。合理的秘密是可以的。没有生死攸关的秘密。如果解码需要半个小时,那已经足够了。理想情况下,我会使用任何规范的安全编码器解码器(当然,只要它们兼容)。

建议表示赞赏。

【问题讨论】:

  • 顺便说一下,使用常量IV不如使用随机IV。
  • ikegami---感谢您的回答。 mcrypt_decrypt(MCRYPT_BLOWFISH, $key, base64_decode($v), "cbc", '12345678')) 是一个很好的替代品。请您回答这个问题,以便我将其标记为答案。

标签: php perl encryption php-7


【解决方案1】:

文档指出您应该改用 mcrypt_decrypt。看来 PHP 正在逐步淘汰 mcrypt_cbc 以支持更通用的接口。以下提供了相同的功能:

mcrypt_decrypt(MCRYPT_BLOWFISH, $key, base64_decode($cipher_base64), MCRYPT_MODE_CBC, $iv)

【讨论】:

    猜你喜欢
    • 2011-09-06
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多