我遇到了SVGCaptcha,立即意识到这是一个坏主意。
我希望您通过从代码产生的SVG图像中提取验证代码来说明这是多么糟糕的主意。
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
        "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
             width="200" height="40"
    > <rect x="0" y="0" width="200" height="40" 
        style="stroke: none; fill: none;" >
        </rect> <text style="fill: #4d9363;" x="5" y="34" font-size="20" transform="translate(5, 34) rotate(-17) translate(-5, -34)">8</text>
<text style="fill: #be8b33;" x="125" y="29" font-size="21" transform="translate(125, 29) rotate(17) translate(-125, -29)">f</text>
<text style="fill: #d561ff;" x="45" y="35" font-size="20" transform="translate(45, 35) rotate(-2) translate(-45, -35)">4</text>
<text style="fill: #3de754;" x="85" y="31" font-size="21" transform="translate(85, 31) rotate(-9) translate(-85, -31)">8</text>
<text style="fill: #5ed4bf;" x="25" y="33" font-size="22" transform="translate(25, 33) rotate(16) translate(-25, -33)">u</text>
<text style="fill: #894aee;" x="105" y="28" font-size="25" transform="translate(105, 28) rotate(9) translate(-105, -28)">1</text>
<text style="fill: #e4c437;" x="65" y="32" font-size="20" transform="translate(65, 32) rotate(17) translate(-65, -32)">x</text>
</svg>
输入的是SVG图像,它是一种文本格式。
唯一真正的限制是您的代码必须以正确的顺序生成值。
输入<text>元素的顺序是随机的,因此您必须注意标记中的x属性<text>
分数是代码中的字节数
由于该代码当前进行了两次相互抵消的转换,因此您可以忽略它们,但是如果您考虑到它们,请继续进行,并将分数降低30%。


 使执行方向从右到左,然后环绕以开始主循环。
使执行方向从右到左,然后环绕以开始主循环。 从标准输入中读取一个字符,并测试文件结束值。
从标准输入中读取一个字符,并测试文件结束值。 如果不是文件结尾,请检查它是否为
如果不是文件结尾,请检查它是否为 如果不是
如果不是 如果不是,则乘以126并用126 2修改,以删除对中最早的值并为下一个字符腾出空间。
如果不是,则乘以126并用126 2修改,以删除对中最早的值并为下一个字符腾出空间。 一
一
 最后,当到达文件末尾时,遍历数组中保存的7个值,并将它们一个接一个地输出。那应该给您所有正确的验证码字母。
最后,当到达文件末尾时,遍历数组中保存的7个值,并将它们一个接一个地输出。那应该给您所有正确的验证码字母。