code: protected static function hmac($iv, $value, $key)
      {
          return substr(hash_hmac('sha256', $iv . $value, $key), 0, self::HMAC_SIZE * 2);
      }
docs: 生成指定长度的加密校验码, 保证密文安全
  
  @param string $iv 初始化向量
  @param string $value 加密后的数据
  @param string $key 加密密钥
  
  @return string