• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Encriptare simpla folosind XOR

1
  • Publicat de Cornescu Andrey
  • în C/C++ · PHP · Tehnic
  • — 7 feb., 2010 at 10:28 pm

Encriptarea XOR

Encriptare XOR este folosita in aplicațiile in care securitate nu trebuie neaparat sa fie un punct forte, insa este necesara pentru a obstrucționa datele si a le face inaccesibile utilizatorului de rand. Mesajul encriptat folosind SAU-ul EXCLUSIV ( XOR ) este aproape imposibil de spart folosind metoda brute force, insa aceasta este vulnerabila la pattern-uri ( in cazul in care cheia este mai mica decat mesajul ).

 

 

Cum functioneaza ?

Encriptarea funcționeaza prin aplicarea operatorului SAU-Exclusiv ( ^ ) fiecarui caracter din sir, astfel schimbandu-i valoarea. Pentru a decripta mesajul este necesara reaplicarea cheii astfel rezultand mesajul original.

* A ^ 0 = A
* A ^ A = 0
* (B ^ A) ^ A = B ^ 0 = B

Implementare

Mai jos puteți vedea o implementare in c++

void encrypt(char string[], char key[])
{
 int string_len = strlen(string);
 int key_length = strlen(key);

 int i,position;

 for(i = 0; i < string_len; i++)
 {
 position = i % key_length;
 string[i] = (char)((int)string[i] ^ (int)key[position]);
 }
}

Și de asemenea o implementare in php plus exemplu de folosire

function encryption($string, $key)
{
 $string_len = strlen($string);
 $key_length = strlen($key);

 for( $i = 0; $i < $string_len; $i++)
 {
 $position = $i % $key_length;
 $replace = ord($string[$i]) ^ ord($key[$position]);

 $string[$i] = chr($replace);
 }

 return $string;
}

//Cum folosim aceasta funcție ?

//encriptare
$mesaj = base64_encrypt(encryption($mesaj, “1qazxsw2″));
echo $password; // mesaj encriptata

//decryption
$mesaj = encryption(base64_decrypt($mesaj), “1qazxsw2″));
echo $mesaj; // mesaj original

Observati ca pentru a encripta si decripta mesajul ne folosim si de functia base64_encrypt/decrypt, aceasta este doar pentru a preveni afisarea caracterelor neprintabile.

Avantaje

  • Simplu de implementat necesitand doar cateva linii de cod
  • Mesajul este extrem de bine protejat daca lungimea mesajului <= lungimea cheii

 

Articolul original il puteti gasi aici.

Daca acest articol contine o greseala, selecteaza cuvintele sau fraza gresita si tasteaza combinatia de taste Shift + Enter sau apasa click aici pentru a o raporta. Multumim!

Etichete: area72avantaje xorC++Cornescu Andreycpp xorcriptografiedecriptare xorencriptare xorphp xor

— Cornescu Andrey a scris 6 articole

Contact | office@area72.ro | @twitter Fondator Area72, numele meu este Cornescu Andrei si lucrez in domeniul informaticii de aproximativ 3 ani, pasionat de ceea ce fac si mai ales dornic sa invat› dar si sa impartasesc din cunostintele mele. De asemenea deschis la intrebari si provocari :)

  • Articolul anterior Schimbari ale interfetei WorldIT
  • Articolul următor Fairshare – priveste cum articolele tale se raspandesc pe Internet

1 Comentariu

  1. Nytro spune:
    februarie 11, 2010 la 6:21 pm

    Da, imi place. Se mai poate face resetand pozitia la 0 atunci cand lungimea cheii e mai mare decat lungimea textului, un simplu if.


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    • www.petshopdiscount.ro
      | Published: noiembrie 26, 2019 - 2:00 am
    • www.depozituldeconstructii.ro
      | Published: noiembrie 27, 2019 - 2:00 am
    • idproject.ro
      | Published: noiembrie 28, 2019 - 2:00 am
    • napocamin.ro
      | Published: noiembrie 28, 2019 - 2:00 am
    • apaczai.ro
      | Published: noiembrie 28, 2019 - 2:00 am
    RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • decembrie 2019
    L Ma Mi J V S D
    « dec.    
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Encriptare simpla folosind XOR
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons

Multumim foarte mult ca ne-ai raportat greseala! O vom remedia in cel mai scurt timp posibil.