【问题标题】:php7.1 openssl encrypt with aes_128 ecb PKCS 7padding get wrong resultphp7.1 openssl 使用 aes_128 ecb PKCS 7padding 加密得到错误结果
【发布时间】:2018-05-13 23:38:29
【问题描述】:

我使用 openssl 加密十六进制数据。输出是不同的右输出(比右输出长)。 online encrypt web site,我想可能需要设置填充。但我发现这个question,答案说 pkcs7padding 是默认设置。所以我想念什么?

//secret hex '2b7e151628aed2a6abf7158809cf4f3c'
//input  hex '6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51'
//right output hex '3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf'


$secret = '2b7e151628aed2a6abf7158809cf4f3c';
$input = '6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51';
$output = openssl_encrypt(hex2bin($input),'aes-128-ecb',hex2bin($key),OPENSSL_RAW_DATA);

echo bin2hex($output); 
//3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaafa254be88e037ddd9d79fb6411c3f9df8

【问题讨论】:

    标签: php openssl aes padding


    【解决方案1】:
    openssl_encrypt(hex2bin($input),'aes-128-ecb',hex2bin($key),OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      相关资源
      最近更新 更多