【问题标题】:PHP Mycrpyt decrypt problems with bin2hexPHP Mycrpyt 使用 bin2hex 解密问题
【发布时间】:2013-08-13 09:52:32
【问题描述】:

我对使用 PHP 进行加密还很陌生。如何从以下返回的加密中解密输出?

$key = "123456";
$text = "hello";
$cipher_alg = MCRYPT_RIJNDAEL_128;

$encrypted_body = mcrypt_encrypt($cipher_alg, $key, $text , MCRYPT_MODE_CBC, $iv);
$encrypted_body_hex = bin2hex($encrypted_body);
$encrypted_body_hex = strtoupper($encrypted_body_hex);

我想如果我只是向后工作就可以了(strtolower,hex2bin,然后通过 mcrypt_decrypt 提供它)但我没有任何运气。

我认为我在使用 bin2hex 时迷路了,因为我的 PHP 版本不支持 hex2bin。

任何帮助都会很棒。

提前致谢

【问题讨论】:

    标签: php encryption hex bin


    【解决方案1】:

    我刚刚对其进行了测试,它可以像您猜想的那样向后工作。没有惊喜。

    $decrypted_hex = strtolower($encrypted_body_hex);
    $decrypted_hex = hex2bin($decrypted_hex);
    $text_decrypted = mcrypt_decrypt($cipher_alg, $key, $decrypted_hex, MCRYPT_MODE_CBC, $iv); 
    

    $text_decrypted 然后包含“你好”。

    也许您在解密阶段没有包含用于加密的相同初始化向量?

    使用$iv = mcrypt_create_iv(16); 创建它并重复使用它来解密,否则它将不起作用。

    编辑:

    如果您必须使用 PHP hex2bin replacement。

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 2015-07-30
      • 2011-08-29
      • 2018-04-11
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      相关资源
      最近更新 更多