【发布时间】:2021-12-15 16:39:09
【问题描述】:
我在使用 Codeigniter 4 和加密服务时遇到了问题。 一切正常,我可以毫无问题地加密和解密,但我想检测加密字符串何时给出错误“解密:身份验证失败。”
基本上我要做的就是这样:
- 获取加密字符串
- 解密字符串:如果解密成功则继续执行脚本,否则给出404错误
这是我的测试代码,也许它有助于解释我的问题
$ct1 是正确的加密字符串,$ct2 是同一个字符串但是第一个字符改变了,只是为了模拟一个错误,第一个被正确解密,第二个给出错误,我想检测这个错误并显示 404 页面(我知道如何显示 404 页面,我只需要一种检测错误的方法。
$enc = \Config\Services::encrypter();
$ct1 = "9c68ef9159b..."; //The string is very long, I don't think is necessary to write it all
$ct2 = "1c68ef9159b...";
print_r($enc->decrypt(hex2bin($ct1)));
print_r($enc->decrypt(hex2bin($ct2)));
提前感谢所有愿意帮助我的人。
【问题讨论】:
-
尝试向
$enc->decrypt(hex2bin($ct2))添加try-catch
标签: php codeigniter encryption codeigniter-4