gpt4 book ai didi

用于 DES/CBC/PKCS5Padding 加密和解密的 PHP 脚本

转载 作者:行者123 更新时间:2023-12-02 21:44:43 31 4
gpt4 key购买 nike

我想知道下面的代码中是否添加了 PKCS#5 填充?如果没有怎么添加?

$message = "insert plaintext message here";

$iv = pack('H*', 'insert hex iv here');
$key = pack('H*', 'insert hex key here');

$enc = mcrypt_encrypt(MCRYPT_DES, $key, $message, MCRYPT_MODE_CBC, $iv);

echo bin2hex($enc);

我还想创建一个 PHP 代码来解密使用 DES/CBC/PKCS5Padding 创建的字符串。我认为可以修改上面提到的代码来解密。

对我来说重要的是获得 PKCS#5 Padding 和 Unpadding 脚本。

最佳答案

不,没有添加。不幸的是,PHP/mcrypt 使用零填充,直到消息达到 block 大小的 N 倍。

要添加 PKCS#5 填充,请使用以下公式:

p = b - l % b

其中l是消息长度,b是 block 大小,%是余数运算。然后在执行加密之前将带有值 pp 字节添加到末尾。

关于用于 DES/CBC/PKCS5Padding 加密和解密的 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734916/

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