Är inte ASCII 8-bitars ? <code> Varje ascii-värde i passwords ingående tecken skall alltså mulipliceras med 3, adderas och bilda summan 36100? Generellt tycker jag en bra metod att verifiera passwors är med XOR-operationer. Det jag försöker göra är att knäcka ett lösenord. När det inmatade värdet är 36100 i ASCIItecken har jag hittat lösenordet. Som det är nu får jag sitta och mata in tecken och prova mig fram, jag trodde det skulle vara lätt, men det visade sig att det inte var det. Därför behöver jag nu hjälp att lösa det. 31600 eller 36100? Jag ser båda värdena i dina texter ovan?Sv: ASCII tecken
Dvs. max 256 tecken .
edit : Jo...kollade just..du måste mena nåt annat ?Sv:ASCII tecken
function validate(form){
//om det passwordfältets värde överenstämmer med 31600
//returneras true
if( encrypt(form.password.value) == '36100')
return true;
else
alert('This is not a valid password');
return false;
}
function encrypt(password)
{
//sätter initeringsvärdet på encpass till 100
var encpass = 100;
for(i=0; i < password.length; i++)
encpass += 3*password.charCodeAt(i)*(++i);
//värdet på fuskfältet blir encpass värde
//och vi kan då hela tiden se vilket asciivärde våra inmatade tecken motsvarar.
document.getElementById("fusk").value = encpass;
return encpass;
}
</code>
Finns det nåt sätt jag kan göra istället för att sitta och skriva in en massa tecken för att lösa detta? Ärt kanske enklare så. Var dumt att ställa frågen som jag gjorde först.Sv: ASCII tecken
Har jag förstått det rätt då ?
Edit:
Oj...nej...såg inte att det dessutom multiplicerades med I...
Kan du inte förklara i ord vad du vill göra ?Sv:ASCII tecken
Det kräver naturligtvis att du är bekant med boolsk algebra.
Nu kan jag inte syntaxen i javascript, men nåt sånt här ..
ex :
for i = 1 to len(password)
encpass =encaps XOR password.charCodeAt(i);
loop
return encpass;
jaja...lite blandade språk....men...principen..
sedan får man ju modulera mot tariffer som man vill använda.
Sv: ASCII tecken
Sv:ASCII tecken
det decimala värdet 31600 -> blir 7B70 hexadecimalt -> 123, 112 i ASCII ( ev. omvänd ordning)
det decimala värdet 36100 -> blir 8D04 hexadecimalt -> 141, 4 i ASCII ( ev. omvänd ordning)
Om du håller ned Alt-tangent och sedan trycker 141 på numpad:en på ditt keybord och sedan
släpper upp Alt-tangenten igen, så får du ASCII-tecknet för 141.
123, 112 ger: {p
141,4 ger: ì?
om du matar in tecknen med alt-tangtent metoden så ska det funka även om
olika encodings råder hos servern och klienten.
Lycka till...