当我在php(phpseclib)上工作时,我对3DES算法有疑问。 如果我的字符串长度在phpseclib上最短1376或1300 Triple DES,则Triple DES不起作用并且无法加密我的字符串!!!
该算法可以使用多少个长度的字符串?
使用phpseclib软件包进行加密。
代码:
$key = '';
$cipher = new \phpseclib\Crypt\TripleDES(\phpseclib\Crypt\DES::MODE_CBC);
//my key is hex format
$cipher->setKey(hex2bin($key));
$cipher->setIV(hex2bin('0000000000000000'));
//my data is hex format
$plaintext = hex2bin($data);
echo $cipher->encrypt($plaintext);
接你。
答案 0 :(得分:-1)
我可以解决这个问题。
在php中,您必须将字符串填充为16个字符!!!
例如:
str_pad($input, 16, "your padded char", STR_PAD_LEFT); // or STR_PAD_RIGHT for padded from right