Пример #1
-1
 /**
  * 3DES 解密 进行了补位的16进制表示的字符串数据
  *
  * @return
  *
  */
 public static function decrypt4HexStr($keys, $data)
 {
     $hexSourceData = array();
     $hexSourceData = ByteUtils::hexStrToBytes($data);
     //var_dump($hexSourceData);
     // 解密
     $unDesResult = TDESUtil::decrypt(ByteUtils::toStr($hexSourceData), $keys);
     //echo $unDesResult;
     $unDesResultByte = ByteUtils::getBytes($unDesResult);
     //var_dump($unDesResultByte);
     $dataSizeByte = array();
     for ($i = 0; $i < 4; $i++) {
         $dataSizeByte[$i] = $unDesResultByte[$i];
     }
     // 有效数据长度
     $dsb = ByteUtils::byteArrayToInt($dataSizeByte, 0);
     $tempData = array();
     for ($j = 0; $j < $dsb; $j++) {
         $tempData[$j] = $unDesResultByte[4 + $j];
     }
     return ByteUtils::hexTobin(ByteUtils::bytesToHex($tempData));
 }