有没有办法将加密验证码反转为纯文本

时间:2017-08-17 15:23:34

标签: javascript c# encryption

我正在编写一个小软件来从网站中提取文本。但那里有加密的验证码。我想在我的c#程序中解密它并绕过它。这是在该页面上找到的加密验证码和相应的普通验证码。

加密验证码:

VFRZWVdLYlRpSUpXN1ZDdU1BcDZiK0lOWFdCTFNtM2cxZFRqb0dlR0txZnlmWHJ2U01OV0hFeW5FYm1YNUloR3JPdHhQaHBFT2tsbwpJbmlSbkxzNmdPblVGc1N0UmdnZDQxVUNHYlJseXFGRkE1d1o5ODNuSGc9PQ==

输出纯文本验证码为:8RTE9

有什么方法可以猜测这种加密中使用的算法?

1 个答案:

答案 0 :(得分:1)

对此的简单回答是你不能。

不使用您想要使用的方法。

验证码存在的原因是为了防止机器执行自动登录或只是为了验证用户实际上是人。

您无法在客户端解密验证码。机会是验证码处理完全在服务器端完成。

您无法使用加密密钥,并且“猜测”(暴力)加密密钥可能需要传统硬件,直到宇宙热死亡。这就是验证码甚至使用加密。它可能会使用散列(更有可能)。

至于识别使用的加密/散列算法?如果您可以找出正在使用的验证码库,您可以弄清楚它是否使用默认值并将其用作创建机器学习数据集的基线。同样,这些都是很大的IFS和BUTS。

如果它是一个开源验证码库,那么您可以使用机器学习来绕过验证码,方法是使用该库为机器学习算法生成训练集。

当然,最终你应该告诉你所在公司的老板,你不能这样做。经过多年的研究,可能还有数十万或数百万美元用于创建这种技术,以防止人们完全按照您的建议行事。