Challenge_21

image.png

if (0 >= preg_match('/^[[:graph:]]{12,}$/', $password))
{
  echo 'Wrong Format';
  exit;
}

正则匹配

[:graph:]:是除空格符(空格键与[TAB]键)之外的所有按
^ :匹配你要用来查找的字符串的开头
$:匹配结尾
{12,} :匹配重复12次或多次–>长度大于12

所以可见字符超过12个

$reg = '/([[:punct:]]+|[[:digit:]]+|[[:upper:]]+|[[:lower:]]+)/';
        if (6 > preg_match_all($reg, $password, $arr))
        break;

字符串中,把连续的符合,数字,大写,小写作为一段,
至少分六段,例如a12SD+io8可以分成a 12 SD + io 8六段

$ps = array('punct', 'digit', 'upper', 'lower');
        foreach ($ps as $pt)
        {
            if (preg_match("/[[:$pt:]]+/", $password))
            $c += 1;
        }

p s = 数组 / / [ [ : p u n c t : ] ] 任何标点符号 [ [ : d i g i t : ] ] 任何数字 [ [ : u p p e r : ] ] 任何大写字母 [ [ : l o w e r : ] ] 任何小写字母 < b r / > 进行匹配,如果 p a s s w o r d 匹配到了就进行 + 1 操作赋给 ps = 数组//[[:punct:]] 任何标点符号 [[:digit:]] 任何数字 [[:upper:]] 任何大写字母 [[:lower:]] 任何小写字母<br />进行匹配 ,如果password 匹配到了 就进行 +1 操作 赋给 ps=数组//[[:punct:]]任何标点符号[[:digit:]]任何数字[[:upper:]]任何大写字母[[:lower:]]任何小写字母<br/>进行匹配,如果password匹配到了就进行+1操作赋给c

if ($c < 3) break;
        if ("42" == $password) echo $flag;

在匹配次数里面 c 要大于 3 < b r / > 大写,小写,数字,符号这四种类型至少要出现三种 < b r / > 但是最后 c 要大于3 <br />大写,小写,数字,符号这四种类型至少要出现三种<br />但是最后 c要大于3<br/>大写,小写,数字,符号这四种类型至少要出现三种<br/>但是最后password 还要等于 42 就有点困难了
42 转换
转换成16进制
image.png
已经符合了正则3 这里的a 可以写成大写 x是小写
让它符合正则1也很容易,在前面补0就可以
image.png
但是还没有满足正则二的条件 差符合
可以使用科学计数法
image.png
但是感觉输入进去只有
420.000000000000e-1
这样才成功 ,因为.点会破坏判断相等时进行的转换
所以有- 才满足正则二
image.png

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码主要是为了导入并配置图像匹配模型。下面是每一句的注释: 1. sys.path.append('/kaggle/input'):将/kaggle/input目录添加到系统路径中,以便能够导入该目录下的模块。 2. sys.path.append('/tmp'):将/tmp目录添加到系统路径中,以便能够导入该目录下的模块。 3. from imc23superglue.models.matching import Matching:从imc23superglue.models.matching模块中导入Matching类,用于执行图像匹配任务。 4. INPUT_ROOT = '/kaggle/input/image-matching-challenge-2023':设置输入数据的根目录。 5. DATA_ROOT = '/kaggle/data':设置数据处理后的根目录。 6. OUTPUT_ROOT = '/kaggle/working':设置输出结果的根目录。 7. DEBUG = False:设置是否启用调试模式。 8. datasets_scenes = []:创建一个空列表,用于存储数据集和场景。 9. sample_submission_df = pd.read_csv(f"{INPUT_ROOT}/sample_submission.csv"):读取样本提交文件,并将其存储为Pandas数据帧。 10. for _, r in sample_submission_df[['dataset', 'scene']].iterrows()::遍历样本提交数据帧中的每一行。 11. ds = f"{r.dataset}/{r.scene}":获取当前行的数据集和场景,并将它们合并为一个字符串。 12. if ds not in datasets_scenes::如果当前数据集和场景的字符串不在列表中,则执行以下操作。 13. datasets_scenes.append(ds):将当前数据集和场景的字符串添加到列表中。 14. matching_name = 'SuperGlue':设置图像匹配模型的名称为SuperGlue。 15. image_sizes = [1088]:设置图像的大小为1088像素。 16. extra_matcher = None:设置额外的匹配器为None。 17. extra_image_sizes = []:设置额外的图像大小列表为空。 18. USE_ROI = False:设置是否使用感兴趣区域(ROI)为False。 19. ROI_SIZE = 1024:设置ROI的大小为1024像素。 20. sim_th = None:设置相似度阈值为None。 21. n_matches = 100:设置最大匹配数为100。 22. num_exhaustives = 7:设置穷举次数为7。 23. thresh_exhaustives = 3:设置穷举阈值为3。 24. matching_config = {...}:创建一个字典,其中包含超级点(SuperPoint)和超级匹配(SuperGlue)的配置参数。 25. matching_model = Matching(matching_config).cuda().half().eval():创建一个图像匹配模型对象,使用上述配置参数,并将其迁移到GPU上。最后,将其设置为半精度模式,并将其设置为评估模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值