我想知道是否可以就如何分析算法获得一些帮助,我的老师给了我们一些字符串的验证码。和out project是我们必须为这个验证器创建一个keygen,当然,它在验证时必须是真的。我一直在尝试蛮力,但我没有运气,它已经工作了 2 小时。现在,所以任何关于如何解决这个问题的帮助、想法或提示都是完美的。
提前致谢。
这是验证器的代码:
function char2number(chr) {
var code = chr.charCodeAt(0);
if(code<65) code = code-48;
else {
code=code-65+10;
if(code>=11) code++;
if(code>=22) code++;
if(code>=33) code++;
}
return code;
}
function checkdata(code) {
var dig = 0;
var test = 1;
for(var i=0; i<code.length-1;i++) {
dig=dig+(char2number(code.charAt(i))*test);
test*=2;
}
dig = mod(dig,9);
if(dig==code.charAt(code.length-1)) return true;
else return false; }
function mod(X,Y) { var t; t = X % Y; return t < 0 ? t + Y : t; }
function valida() {
var codigo = document.getElementById("code").value;
// Validate the code
if( code == "" || code.length < 15 ) {
alert("Invalid!");
return false;
}
if( ! checkdata(code.toUpperCase()) ) {
alert("Invalid!");
return false;
}
这段代码是用 Javascript 编写的,因为我们必须用 Python 详细说明我们的解决方案,并从 Python 调用服务进行验证。我不认为编写代码很难,但我一直在思考解决这个问题的方法,但我找不到让它工作的模式。
谢谢大家!