Reacties op het script EN/DECRYPTIE functie's!
|
|
Gepost op: 07 februari 2005 - 00:01 |
|
|
|
Moderator
|
| op wat voor algorithme(n) is (zijn) deze en/decryptiefuncties gebaseerd ? |
|
|
|
|
Gepost op: 07 februari 2005 - 13:34 |
|
|
|
Moderator
|
Hmm... een aantal opmerkingen:
- als $key korter is dan $password worden alleen de eerste zoveel letters (lengte van $key) "ge-encrypt"
- als twee opeenvolgende letters van $key hetzelfde zijn, blijft een letter ge-unencrypt, immers:
$i_crypt = $i_pass + $i_key;
$i_crypt = $i_crypt - $n_key;
is hetzelfde als
$i_crypt = $i_pass + $i_key - $n_key;
en bij twee opeenvolgende letters die hetzelfde zijn, hebben $i_key en $n_key dezelfde waarde (ze "elimineren" elkaar).
Dit encryptiemechanisme is dus zo 'sterk' als de gekozen $key...
Verder is het vrij makkelijk om de (geheime) encryptie-key te omzeilen, omdat de encryptie van een karakter vastligt door:
1. het karakter zelf
2. zijn positie
Een karakter "a" op de eerste positie van $password zal, gegeven de $key bij het script, altijd een "_" opleveren. Een "a" op de tweede positie zal altijd een "j" opleveren et cetera.
Door maar vaak genoeg een string (bestaande uit zoveel keer een karakter uit de ASCII-tabel) in te vullen in encrypt() kun je je eigen decryptie-tabel maken ($key doet er dus niet meer toe).
Voorbeeld:
<?php
// verzamel de encryptie-symbolen per karakter / positie
echo "<pre>";
$decrypt_keys = array();
for($i = 32; $i <126; $i++) { // de karakters <spatie> tot en met ~
$string = str_repeat(chr($i), 50);
$encrypt_string = encrypt($string);
$decrypt_keys[chr($i)] = $encrypt_string;
echo chr($i).": ".$encrypt_string."\n";
}
echo "</pre>";
// my personal decrypt function ;)
function decrypt_me($string) {
global $decrypt_keys;
echo '"';
for($i=0; $i < strlen($string); $i++) {
foreach($decrypt_keys as $k => $v) {
if($string{$i} == $v{$i}) {
echo $k;
break;
}
}
}
echo '"';
}
// testje
$test = "Dit is een test";
echo $test."<br />";
$test_enc = encrypt($test);
echo $test_enc."<br />";
decrypt_me($test_enc);
?>
<?php // verzamel de encryptie-symbolen per karakter / positie for($i = 32; $i <126; $i++) { // de karakters <spatie> tot en met ~ $encrypt_string = encrypt($string); $decrypt_keys[chr($i)] = $encrypt_string; echo chr($i).": ".$encrypt_string."\n"; } // my personal decrypt function ;) function decrypt_me($string) { for($i=0; $i < strlen($string); $i++) { foreach($decrypt_keys as $k => $v) { if($string{$i} == $v{$i}) { break; } } } } // testje $test = "Dit is een test"; $test_enc = encrypt($test); decrypt_me($test_enc); ?>
Verder is md5() en HASH-algoritme. HASH-functies hebben de eigenschap dat ze NIET terugvertaald kunnen worden, en, wanneer er een minimaal verschil is in invoer (vergelijk md5("aaaaaaaaaa") met md5("aaaaaaaaab")) is er een GIGANTISCH verschil in uitvoer (de hash). Dit is bij jouw encryptie/decryptie-mechanisme NIET het geval... Alleen het laatste (ge-encrypte) karakter zal verschillen bij encrypt("aaaaaaaaaa") en encrypt("aaaaaaaaab").
Here endeth the lesson . |
|
|
|
|
Gepost op: 26 juni 2009 - 16:31 |
|
|
|
Nieuw lid
|
Hallo heb de php code even op mijn site geplaatst en werkt prima hoor.
Enkel zou ik nog graag willen decrypting naar mijn eigen exe tooltje.
Dus dat mijn exe tooltje die decrypting kan inlezen en de decrypting omzet naar leesbare tekst.
Hoe werkt nu juist dat script want ben nog niet helemaal thuis in php.

Grtz |
|
|
|
|
Gepost op: 26 juni 2009 - 17:10 |
|
|
|
Nieuw lid
|
Kan altijd op mijn mail sturen hoor youto0000@gmail.com
grtz |
|
|
| Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|