Vai alla freccia - Homepage - BlogRoom - Mappa
Visualizza Messaggi.

Nick: Zipper75
Oggetto: re:GVQXQXALCHGTXYIZKW
Data: 15/1/2004 13.37.54
Visite: 51

enigma.js
so che non vi serve ma sta il codice fottuto.


Alfabeto = 'ABCDEFGHIJKLMNOPQRSTUVXYZ';


Rotori = new Array();

Rotori[0] = new Array(8, 10, 7, 4, 17, 15, 24, 21, 19, 3, 1, 13, 9, 6, 18, 22, 20, 16, 14, 5, 23, 11, 2, 12, 0, 25);
Rotori[1] = new Array(17, 14, 20, 0, 16, 19, 6, 2, 15, 11, 13, 23, 18, 3, 10, 4, 9, 22, 12, 1, 5, 25, 21, 24, 8, 7);
Rotori[2] = new Array(12, 10, 22, 9, 21, 2, 8, 20, 3, 4, 25, 1, 11, 5, 17, 0, 16, 15, 19, 7, 24, 14, 18, 13, 23, 6);

Start = new Array(15, 6, 26);

Rotori[3] = new Array();
Rotori[4] = new Array();
Rotori[5] = new Array();
for (conta = 0; conta < 26; conta++){
Rotori[3][Rotori[2][conta]] = conta;
Rotori[4][Rotori[1][conta]] = conta;
Rotori[5][Rotori[0][conta]] = conta;
}

Rotori[6] = new Array(12, 17, 25, 8,15,7,14,5,3,22,16,21,0,20,6,4,10,1,24,23,13,11,9,19,18,2);

Inizio = 'LQWERTZUIOASDFGHJKPYXCVBNM';

Andata = new Array(-1,-1,-1,-1,-1);
Ritorno = new Array(-1,-1,-1,-1,-1);

function AvanzaRotori(r1, r2, r3, rot1, rot2, rot3 ){
c1 = parseInt(r1.value);
c2 = parseInt(r2.value);
c3 = parseInt(r3.value);
c1 = (c1+1)%26;
// alert(Start[0]+Start[1]+Start[2]);
if (c1 == Start[rot1.value]){
c2 = (c2+1)%26;
if (c2 == Start[rot2.value]){
c3 = (c3+1)%26;
}
}
r1.value = c1;
r2.value = c2;
r3.value = c3;
}


function EnigmaCar(ch, rot1, rot2, rot3, rifl, r1, r2, r3){
c1 = parseInt(r1.value); // alert(c1);
c2 = (26 + parseInt(r2.value) - c1)%26; // alert(c2);
c3 = (26 + parseInt(r3.value) - parseInt(r2.value))%26; // alert(c3);
r0 = (26 + parseInt(rifl.value) - parseInt(r3.value))%26; // alert(r0);
r1 = (26 - r0)%26;
c5 = 26 - c3;
c6 = 26 - c2;
c7 = 26 - c1;
chpos = Inizio.indexOf(ch);
Andata[4] = chpos;
chpos = (chpos + c1) % 26;
Andata[rot1.value+1] = chpos;
chpos = Rotori[rot1.value][chpos];
chpos = (chpos + c2) % 26;
Andata[rot2.value+1] = chpos;
chpos = Rotori[rot2.value][chpos];
chpos = (chpos + c3) % 26;
Andata[rot3.value+1] = chpos;
chpos = Rotori[rot3.value][chpos];
chpos = (chpos + r0) % 26;
Andata[0] = chpos;
chpos = Rotori[6][chpos];
Ritorno[0] = chpos;
chpos = (chpos + r1) % 26;
chpos = Rotori[5-rot3.value][chpos];
Ritorno[rot3.value+1] = chpos;
chpos = (chpos + c5) % 26;
chpos = Rotori[5-rot2.value][chpos];
Ritorno[rot2.value+1] = chpos;
chpos = (chpos + c6) % 26;
chpos = Rotori[5-rot1.value][chpos];
Ritorno[rot1.value+1] = chpos;
chpos = (chpos + c7) % 26;
Ritorno[4] = chpos;
return Inizio.charAt(chpos);
}

function EnigmaTesto(chiaro, rot1, rot2, rot3, rifl, r1, r2, r3){
critto = '';
for(ind=0; ind < chiaro.value.length; ind++){
// alert(critto);
critto += EnigmaCar(chiaro.value.charAt(ind), rot1, rot2, rot3, rifl, r1, r2, r3);
AvanzaRotori(r1, r2, r3, rot1, rot2, rot3 );
}
return critto;

}


function Enigma(chiaro, cifrato, rot1, rot2, rot3, rifl, r1, r2, r3){
chiaro.value = chiaro.value.toUpperCase();
if (chiaro.value.length == 1){
cifrato.value = EnigmaCar(chiaro.value, rot1, rot2, rot3, rifl, r1, r2, r3)
} else {
Andata = [-1,-1,-1,-1,-1];
Ritorno = [-1,-1,-1,-1,-1];
// alert("Cifra");
cifrato.value = EnigmaTesto(chiaro, rot1, rot2, rot3, rifl, r1, r2, r3)
}
}

function MostraIngresso(dove){
rigaHTML = '
';
anda = Andata[4]; //alert(anda);
rito = Ritorno[4]; //alert(rito);
for (pos=0; pos < 26; pos++) {
usc = (pos+1)%26;
if (usc== anda){
rigaHTML += '' + Inizio.charAt(usc) + '
';
} else if (usc == rito){
rigaHTML += '' + Inizio.charAt(usc) + '
';
} else {
rigaHTML += Inizio.charAt(usc) + '
';
}
}
rigaHTML += ' ';
if (navigator.appName == 'Netscape'){
document.getElementById(dove).innerHTML = rigaHTML;
} else {
document.all[dove].innerHTML = rigaHTML;
}
}

function MostraRotore(dove, rot, diff){
rigaHTML = '
';
diff = parseInt(diff);
start = (1 + diff)%26;
// alert (pos);
anda = Andata[rot+1]; //alert(anda);
rito = Ritorno[rot+1]; //alert(rito);
pos = start;
do {
uscita = Rotori[5 - rot][pos];
if (pos == anda){
colin = '' + Inizio.charAt(anda) + '';
} else if (pos == rito){
colin = '' + Inizio.charAt(pos) + '';
} else {
colin = Inizio.charAt(pos);
}
if (uscita == anda){
colout = ''+ Inizio.charAt(uscita) + '';
}else if (uscita == rito){
colout = ''+ Inizio.charAt(uscita) + '';
}else{
colout = Inizio.charAt(uscita);
}
rigaHTML += colout + ' ' + colin + "
";
pos = (pos+1) % 26
} while (pos != start)
rigaHTML += ' ';
if (navigator.appName == 'Netscape'){
document.getElementById(dove).innerHTML = rigaHTML;
} else {
document.all[dove].innerHTML = rigaHTML;
}
}

function MostraRotori(RotSin, RotCen, RotDes, rot1, rot2, rot3, rifl, r1, r2, r3, Rifletti, PosIniz){
c1 = parseInt(r1.value);
c2 = parseInt(r2.value);
c3 = parseInt(r3.value);
c4 = parseInt(rifl.value);
// MostraRotore(RotSin, rot3.value, (c1+c2+c3)%26);
// MostraRotore(RotCen, rot2.value, (c1+c2)%26);
MostraRotore(RotSin, rot3.value, c3);
MostraRotore(RotCen, rot2.value, c2);
MostraRotore(RotDes, rot1.value, c1);
MostraRotore(Rifletti, -1, c4);
MostraIngresso(PosIniz);
}

function ControllaRotori(rot, rot1, rot2, rot3){
if (rot2.value == rot1.value){
if (rot == 1){
rot2.value = 3-rot1.value-rot3.value;
rot2.selectedIndex = rot2.value;
} else {
rot1.value = 3-rot2.value-rot3.value;
rot1.selectedIndex = rot1.value;
}
}
if (rot3.value == rot1.value){
if (rot == 1){
rot3.value = 3-rot2.value-rot1.value;
rot3.selectedIndex = rot3.value;
} else {
rot1.value = 3-rot2.value-rot3.value;
rot1.selectedIndex = rot1.value;
}
}
if (rot3.value == rot2.value){
if (rot == 2){
rot3.value = 3-rot1.value-rot2.value;
rot3.selectedIndex = rot3.value;
} else {
rot2.value = 3-rot1.value-rot3.value;
rot2.selectedIndex = rot2.value;
}
}
}



Rispondi al Messaggio | Indietro | Indice topic | Quota Testo | Vai su| Segnala ad un amico|Successivo


GVQXQXALCHGTXYIZKW   15/1/2004 12.49.41 (332 visite)   NEVERLAND
   re:GVQXQXALCHGTXYIZKW   15/1/2004 12.54.57 (97 visite)   eLLeGi
      re:x eLLeGi   15/1/2004 13.0.10 (84 visite)   NEVERLAND
   re:GVQXQXALCHGTXYIZKW   15/1/2004 12.56.19 (91 visite)   JaZz99
      re:x JaZz99   15/1/2004 17.53.48 (48 visite)   NEVERLAND (ultimo)
   NEVERLAND   15/1/2004 12.56.59 (98 visite)   Corum
      re:x Corum   15/1/2004 13.2.27 (84 visite)   NEVERLAND
   re:GVQXQXALCHGTXYIZKW   15/1/2004 13.5.13 (83 visite)   Zipper75
      re:x Zipper 75   15/1/2004 13.7.0 (58 visite)   NEVERLAND
         logiche....   15/1/2004 13.14.37 (90 visite)   Ulisse
            re:x Ulisse   15/1/2004 13.24.3 (56 visite)   NEVERLAND
   re:GVQXQXALCHGTXYIZKW   15/1/2004 13.28.14 (77 visite)   Zipper75
      re:GVQXQXALCHGTXYIZKW   15/1/2004 13.34.15 (48 visite)   Ulisse
      Suggerimento...   15/1/2004 13.34.43 (55 visite)   NEVERLAND
   re:GVQXQXALCHGTXYIZKW   15/1/2004 13.36.52 (75 visite)   B{L}U
      re:GVQXQXALCHGTXYIZKW   15/1/2004 13.37.54 (50 visite)   Zipper75
      re:x B{L}U   15/1/2004 13.38.44 (56 visite)   NEVERLAND
         re:x B{L}U   15/1/2004 13.41.8 (86 visite)   B{L}U
            re:x B{L}U   15/1/2004 13.42.5 (66 visite)   Linjal
   re:GVQXQXALCHGTXYIZKW   15/1/2004 13.50.57 (67 visite)   Linjal
      x neverland   15/1/2004 13.56.18 (64 visite)   mottino
         re:x mottino   15/1/2004 14.56.43 (70 visite)   NEVERLAND
      x Linjal (Suggerimento2)   15/1/2004 14.56.2 (64 visite)   NEVERLAND
   Problema   15/1/2004 14.7.49 (66 visite)   Linjal
   U - 571   15/1/2004 14.58.36 (74 visite)   Bart
      paolo bart   15/1/2004 15.9.31 (60 visite)   _Roxanne
   U-571   15/1/2004 15.8.20 (89 visite)   _Roxanne

Nick:
Password:
Oggetto:
Messaggio:

vai in modalità avanzata
                 


Rimani nel thread dopo l'invio


Ricerca libera nel sito by Google (Sperimentale, non sono ancora presenti tutti i contenuti)

Google
 



Clicca per leggere le regole del forum



Imposta IRCNapoli come homepage

Clicca per andare sul forum di prova.
IRCNapoli "Un racconto a più mani".
Mappa del forum

Visualizza tutti i post del giorno 15/01/2004
Visualizza tutti i post del giorno 03/08/2025
Visualizza tutti i post del giorno 02/08/2025
Visualizza tutti i post del giorno 01/08/2025
Visualizza tutti i post del giorno 31/07/2025
vai in modalità avanzata