enDataEcb($data); // 加密后的长度和原数据长度一致 eq(strlen($d), $str_len); // 解密ecb $d = $sm4->deDataEcb($d); // 解密后和原数据相等 eq(md5($d), $sign); echo "\n --- cbc --- \n"; // 加密cbc $d = $sm4->enDataCbc($data, $iv); // 加密后的长度和原数据长度一致 eq(strlen($d), $str_len); // 解密cbc $d = $sm4->deDataCbc($d, $iv); // 解密后和原数据相等 eq(md5($d), $sign); echo "\n --- ofb --- \n"; // 加密ofb $d = $sm4->enDataOfb($data, $iv); // 加密后的长度和原数据长度一致 eq(strlen($d), $str_len); // 解密ofb $d = $sm4->deDataOfb($d, $iv); // 解密后和原数据相等 eq(md5($d), $sign); echo "\n --- cfb --- \n"; // 加密cfb $d = $sm4->enDatacfb($data, $iv); // 加密后的长度和原数据长度一致 eq(strlen($d), $str_len); // 解密cfb $d = $sm4->deDatacfb($d, $iv); // 解密后和原数据相等 eq(md5($d), $sign); echo "\n --- ctr --- \n"; // 加密ctr $d = $sm4->enDataCtr($data, $iv); // 加密后的长度和原数据长度一致 eq(strlen($d), $str_len); // 解密ctr $d = $sm4->deDataCtr($d, $iv); // 解密后和原数据相等 eq(md5($d), $sign); //ecb/cbc/cfb/ofb/ctr