La datorie, dezvoltatorul a îndeplinit sarcina de criptare șiruri de text algoritmul RSA, folosind chei publice și private în format PEM. Când sa studiat această problemă, sa ales să se folosească biblioteca OpenSSL. Vreau să împărtășesc exemple de implementare a funcționalității de criptare pe Delphi. Acțiunile au fost efectuate în mediul de dezvoltare Windows, Borland Delphi 7.
De unde să încep?
Primul este nevoie de pachetul OpenSSL, biblioteca mai degrabă libeay32.dll. Și pentru a conecta biblioteca avem nevoie de o unitate ready-made libeay32.pas. care trebuie să fie conectat la proiect. În exemplul meu, nu există nici o generație cheie funcțională din proiect, cum să facă va fi posibil pentru a citi materialul de pe link-ul de sub articol. Pentru a genera un OpenSSL cheie pereche m-am folosit următoarea comandă de la cmd:
Unde 1024 este rata de biți a cheii. Rețineți că cheia depinde de adâncimea de biți și lungimea șirului de criptare. În cazul în care cheia este de 1024 de biți, puteți cripta doar 128 bytes, de aceeași dimensiune, care este mărimea cheii. Următoarele arată funcția de determinare a dimensiunilor structurii de chei RSA. Dar asta nu e tot. Acest tampon va fi redus cu 11 octeți dacă specificați căptușeala în timpul criptării. responsabil de alinierea datelor - PKCS # 1.
După ce am generat o cheie în 2048 de biți, putem cripta 256 de octeți. Aceasta crește mărimea textului criptat de ieșire, chiar dacă numai 1 octet este criptat.
Pentru sarcina mea a fost suficient de 117 octeți, care se potrivește cardul de date, dimensiunea rândurile din baza de date, desigur, a crescut considerabil. Dar asta necesită securitate.
Funcții principale
Principalul lucru pe care îl vom folosi pentru criptare este: