我有下面这段代码:
$Field = $FW->Encrypt("Test");
echo "<pre>";
print_r($Field);
echo "</pre>";
# $IV_Count = strlen($Field['IV']);
# $Key_Count = strlen($Field['Key']);
# $Cipher_Count = strlen($Field['CipheredText']);
foreach ($Field AS $Keys => $Values){
echo $Keys."Count = ".strlen($Values)."<br><br>";
}
输出结果如下:
Array
(
[CipheredText] => x2nelnArnS1e2MTjOrq+wd9BxT6Ouxksz67yVdynKGI=
[IV] => 16
[Key] => III#TcTf‡eB12T
)
CipheredTextCount = 44
IVCount = 2
KeyCount = 16
无论输入什么,IV/KeyCount总是返回相同的值。但是,CipheredTextCount根据输入而变化。例如:
$Field = $FW->Encrypt("This is a longer string");
foreach
循环返回:
现在,我的问题是:以44为文本计数的第一个示例如何在CipheredTextCount = 64(密文计数= 64)
IVCount = 2(IV计数= 2)
KeyCount = 16(密钥计数= 16)
implode(“”,$ Field);
后拆分字符串以显示为原始数组?例如: echo implode("",$Field);
输出结果为:
ijGglH/vysf52J5aoTaDVHy4oavEBK4mZTrAL3lZMTI=16III#TcTf‡eB12T
基于
strlen
的结果?可以将第一个
$Cipher_Count
的计数存储在数据库中供参考。
我的当前设置涉及将密钥和IV存储在与加密文本字符串分开的列中。我需要这些内容包含在一个字段中,并且脚本处理所需的信息来执行以下操作:
检索长字符串>将字符串拆分为原始数组>将数组推送到另一个函数> 解密> 返回解码后的字符串。