[R] Traduire un javascript "checksum" en autoit
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Traduire un javascript "checksum" en autoit
Bonsoir à tous,
Je souhaiterai pourvoir transcrire un javascript en autoit mais je reste bloqué sur certaines variables. Voici le script en question:
[code]<SCRIPT LANGUAGE="JavaScript">
function Calculer() {
var tab=" azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@";
var login=document.forms[0].elements["login"].value;
var password=document.forms[0].elements["password"].value;
var nblog=login.length;
var nbpass=password.length;
var sum=1;
var n=Math.max(nblog,nbpass)
for (var i=0;i<n;i++) {
var index1=tab.indexOf(login.substring(i,i+1))+10;
var index2=tab.indexOf(password.substring(i,i+1))+10;
sum=sum+(index1*n*(i+1))*(index2*(i+1)*(i+1));
}
document.forms[0].elements["checksum"].value=sum;
}
</SCRIPT>[/code]
Je bloque au niveau du .length, .indexOf et .substring
Y'a-t-il des équivalences dans les fonctions d'Autoit et, si ces équivalences existent, la transformation du script peut-elle finalement aboutir (sinon, je laisse tomber...)?
Merci d'avance
Cordialement
JudgeFred
Je souhaiterai pourvoir transcrire un javascript en autoit mais je reste bloqué sur certaines variables. Voici le script en question:
[code]<SCRIPT LANGUAGE="JavaScript">
function Calculer() {
var tab=" azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@";
var login=document.forms[0].elements["login"].value;
var password=document.forms[0].elements["password"].value;
var nblog=login.length;
var nbpass=password.length;
var sum=1;
var n=Math.max(nblog,nbpass)
for (var i=0;i<n;i++) {
var index1=tab.indexOf(login.substring(i,i+1))+10;
var index2=tab.indexOf(password.substring(i,i+1))+10;
sum=sum+(index1*n*(i+1))*(index2*(i+1)*(i+1));
}
document.forms[0].elements["checksum"].value=sum;
}
</SCRIPT>[/code]
Je bloque au niveau du .length, .indexOf et .substring
Y'a-t-il des équivalences dans les fonctions d'Autoit et, si ces équivalences existent, la transformation du script peut-elle finalement aboutir (sinon, je laisse tomber...)?
Merci d'avance
Cordialement
JudgeFred
Modifié en dernier par judgefred le mer. 22 juil. 2009 11:55, modifié 3 fois.
Puissante est la force d'autoit ... Que je ne maitrise pas...
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: TRADUIRE UN JAVASCRIPT "CHECKSUM" EN AUTOIT
Bonsoir, je dirais :
- StringInStr pour indexOf ;
- StringLen pour length ;
- StringMid pour substring.
- StringInStr pour indexOf ;
- StringLen pour length ;
- StringMid pour substring.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: TRADUIRE UN JAVASCRIPT "CHECKSUM" EN AUTOIT
Merci pour votre réponse.
Je teste cela de suite.
Je teste cela de suite.
Puissante est la force d'autoit ... Que je ne maitrise pas...
Re: TRADUIRE UN JAVASCRIPT "CHECKSUM" EN AUTOIT
Rebonjour,
Merci de votre aide. Le remplacement s'est avéré correct!
Pas à pas, le script autoit et le javascript initial fournissent les mêmes données dans les variables!
Cependant, je bloque sur la dernière ligne qui ne doit pas normalement poser de difficultés..
ORIGINAL:
sum=sum+(index1*n*(i+1))*(index2*(i+1)*(i+1));
AUTOIT:
$sum = $sum + ($index1*$n*($i+1))*($index2*($i+1)*($i+1));
Bien que les données soient identiques dans les variables entre les deux scripts, il n'en est pas de même dans le "calcul final" ou l'un génére un nombre différent de l'autre..
Auriez vous des suggestions?
Merci d'avance
JudgeFred
Merci de votre aide. Le remplacement s'est avéré correct!
Pas à pas, le script autoit et le javascript initial fournissent les mêmes données dans les variables!
Cependant, je bloque sur la dernière ligne qui ne doit pas normalement poser de difficultés..
ORIGINAL:
sum=sum+(index1*n*(i+1))*(index2*(i+1)*(i+1));
AUTOIT:
$sum = $sum + ($index1*$n*($i+1))*($index2*($i+1)*($i+1));
Bien que les données soient identiques dans les variables entre les deux scripts, il n'en est pas de même dans le "calcul final" ou l'un génére un nombre différent de l'autre..
Auriez vous des suggestions?
Merci d'avance
JudgeFred
Puissante est la force d'autoit ... Que je ne maitrise pas...
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: TRADUIRE UN JAVASCRIPT "CHECKSUM" EN AUTOIT
Je ne sais pas si votre problème vient de là, mais il y a des nuances entre Autoit et Javascript. Par exemple, Pour indexOf : le comptage commence à 0, alors que pour StringInStr ça commence à 1.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: TRADUIRE UN JAVASCRIPT "CHECKSUM" EN AUTOIT
C'est totalement vrai.
Je viens de vérifier et cela ne vient effectivement pas de la dernière ligne $sum.
S'il n'y a pas de solution, je me permettrai quand même de vous soumettre sur ce post demain matin le script construit avec autoit pour me dire s'il ne contient pas d'erreurs.
Merci pour votre aide
Je viens de vérifier et cela ne vient effectivement pas de la dernière ligne $sum.
S'il n'y a pas de solution, je me permettrai quand même de vous soumettre sur ce post demain matin le script construit avec autoit pour me dire s'il ne contient pas d'erreurs.
Merci pour votre aide
Puissante est la force d'autoit ... Que je ne maitrise pas...
-
ani
- Niveau 11

- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..] Traduire un javascript "checksum" en autoit
bonjour,
Auriez-vous un exemple de valeur retournée ?
Je veux dire un login & password bidon avec la valeur $sum qui serait retournée?
Pour tester
merci et bonne continuation
Auriez-vous un exemple de valeur retournée ?
Je veux dire un login & password bidon avec la valeur $sum qui serait retournée?
Pour tester
merci et bonne continuation
Re: [..] Traduire un javascript "checksum" en autoit
Bonjour
Je vous transmets le code traduit en fonction des précedentes réponses sur ce forum:
Tout se passe bien jusqu'à la fonction StringMid. Et même dans l'hypothèse ou les retour de ces fonctions seraient identiques, le $sum final est toujours différent entre le javasript et le script autoit.
Pour vous répondre, vous trouverez en fichier zip ci-joint le script autoit qui vous retourne les différentes valeurs calculées ainsi qu'une page html qui vous retourne également les différentes valeurs calculées par le javascript. Vous pourrez donc comparer les "réactions" de ces deux scripts.
Merci d'avance
Cordialement
Judgefred
Je vous transmets le code traduit en fonction des précedentes réponses sur ce forum:
Code : Tout sélectionner
#include <Math.au3>
Dim $loginmid
Dim $passwordmid
Dim $index1
Dim $index2
$tab = " azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@"
$login = "AZERTY"
$password = "AZERTY"
$nblog = StringLen($login)
$nbpass = StringLen($password)
$sum = 1
$n = _Max($nblog,$nbpass)
for $i = 0 to $i < $n
$loginmid = StringMid($login, $i, $i+1)
$passwordmid = StringMid($password, $i, $i+1)
$index1 = StringInStr($tab, $loginmid, 1) + 10
$index2 = StringInStr($tab, $passwordmid, 1) + 10
$sum = $sum + ($index1*$n*($i+1))*($index2*($i+1)*($i+1))
Next
MsgBox(0,"", "$nblog: " & $nblog & @CRLF & "$npass: " & $nbpass & @CRLF & "$n: " & $n & @CRLF & "$loginmid: " & $loginmid & @CRLF & "$passwordmid: " & $passwordmid & @CRLF & "$index1: " & $index1 & @CRLF & "$index2: " & $index2 & @CRLF & "$sum: " & $sum)Pour vous répondre, vous trouverez en fichier zip ci-joint le script autoit qui vous retourne les différentes valeurs calculées ainsi qu'une page html qui vous retourne également les différentes valeurs calculées par le javascript. Vous pourrez donc comparer les "réactions" de ces deux scripts.
Merci d'avance
Cordialement
Judgefred
- Fichiers joints
-
- Checksum.zip
- javascript
- (1.56 Kio) Téléchargé 77 fois
Puissante est la force d'autoit ... Que je ne maitrise pas...
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Traduire un javascript "checksum" en autoit
Il y avait une erreur au niveau des StringMid et la boucle For ne s'utilise pas comme ça (ça ne faisait qu'une seule boucle).
Code : Tout sélectionner
#include <Math.au3>
Dim $loginmid
Dim $passwordmid
Dim $index1
Dim $index2
$tab = " azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@"
$login = "AZERTY"
$password = "AZERTY"
$nblog = StringLen($login)
$nbpass = StringLen($password)
$sum = 1
$n = _Max($nblog, $nbpass)
For $i = 0 To $n - 1
$loginmid = StringMid($login, $i + 1, 1)
$passwordmid = StringMid($password, $i + 1, 1)
$index1 = StringInStr($tab, $loginmid, 1) + 10
$index2 = StringInStr($tab, $passwordmid, 1) + 10
$sum = $sum + ($index1 * $n * ($i + 1)) * ($index2 * ($i + 1) * ($i + 1))
Next
MsgBox(0, "", "$nblog: " & $nblog & @CRLF & "$npass: " & $nbpass & @CRLF & "$n: " & $n & @CRLF & "$loginmid: " & $loginmid & @CRLF & "$passwordmid: " & $passwordmid & @CRLF & "$index1: " & $index1 & @CRLF & "$index2: " & $index2 & @CRLF & "$sum: " & $sum)De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: [..] Traduire un javascript "checksum" en autoit
Cela fonctionne parfaitement!
Je vous remercie sincerement pour votre aide, ainsi que les autres intervenants.
JudgeFred
Je vous remercie sincerement pour votre aide, ainsi que les autres intervenants.
JudgeFred
Puissante est la force d'autoit ... Que je ne maitrise pas...

