アルゴリズムを分析する方法を教えてもらえないかと思っていたのですが、先生がいくつかの文字列の検証コードを教えてくれました。そしてアウト プロジェクトは、このバリデーターの keygen を作成する必要があることです。もちろん、検証時に true でなければなりません。私は力ずくで試してきましたが、運がなく、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 からサービスを呼び出して検証する必要があるためです。コードを作成するのは難しいとは思いませんが、これを解決する方法を考えていて、それを機能させるためのパターンを見つけることができません。
皆さんありがとう!