login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Snippets > EN/DECRYPTIE functie's!


Reacties op het script EN/DECRYPTIE functie's!

Offline  Thomas
Gepost op: 07 februari 2005 - 00:01
Moderator



op wat voor algorithme(n) is (zijn) deze en/decryptiefuncties gebaseerd ?

Offline  Thomas
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:

  1. <?php
  2. // verzamel de encryptie-symbolen per karakter / positie
  3. echo "<pre>";
  4. $decrypt_keys = array();
  5.  
  6. for($i = 32; $i <126; $i++) { // de karakters <spatie> tot en met ~
  7. $string = str_repeat(chr($i), 50);
  8. $encrypt_string = encrypt($string);
  9. $decrypt_keys[chr($i)] = $encrypt_string;
  10.  
  11. echo chr($i).": ".$encrypt_string."\n";
  12. }
  13. echo "</pre>";
  14.  
  15. // my personal decrypt function ;)
  16. function decrypt_me($string) {
  17. global $decrypt_keys;
  18.  
  19. echo '"';
  20. for($i=0; $i < strlen($string); $i++) {
  21. foreach($decrypt_keys as $k => $v) {
  22. if($string{$i} == $v{$i}) {
  23. echo $k;
  24. break;
  25. }
  26. }
  27. }
  28. echo '"';
  29. }
  30.  
  31. // testje
  32. $test = "Dit is een test";
  33. echo $test."<br />";
  34. $test_enc = encrypt($test);
  35. echo $test_enc."<br />";
  36. decrypt_me($test_enc);
  37. ?>


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 .

Offline  wauw
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

Offline  wauw
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.
 
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.032s