我正在处理一个项目,其中出于安全原因必须加密存储在qrCode中的数据,
所以我使用openssl
加密了数据(纯文本)我已将QrCode图像保存在本地目录(公共/图像)
上现在为了扫描我使用Zxing库的图像内容,
我已成功获取加密文本,现在我需要对其进行解码。
这个"解密代码" :
$secretKey = "glop";
$iv = random_bytes(16);
$qrcode = new QrReader('images/qr/sb.png');
$decrypted = openssl_decrypt($qrcode->text(), "AES-128-CBC", $secretKey,0,$iv);
dd($decrypted); //return decoded text from QR Code
通过转储功能回显"错误"
我做错了什么?
答案 0 :(得分:1)
当解密CBC模式时,IV必须与用于加密的IV相同。
对于每次加密,IV都需要是随机的,只需在加密数据前加上IV用于解密,它不需要保密。