align="justify"> {(time (NULL));// Ініціалізація генератора випадкових чисел
}
//---------------------------------------------------------------------------__fastcall TForm1 :: ButtonGenerateClick (TObject * Sender)
{pubKey; privKey; ( amp; pubKey, amp; privKey); gt; Text=IntToStr (pubKey.e); gt; Text=IntToStr (pubKey.n); gt; Text=IntToStr (privKey.d); - gt; Text=IntToStr (privKey.n); gt; Enabled=true; gt; Enabled=true; - gt; SimpleText= Ключі RSA згенеровані raquo ;;
}
//---------------------------------------------------------------------------__fastcall TForm1 :: btnPublicSaveClick (TObject * Sender)
{(! SaveDialogPublicKeys- gt; Execute ()) return; fname=SaveDialogPublicKeys- gt; FileName; (fname.SubString (fname.Length () - 3, 4) .LowerCase ()!= .pbk ) += .pbk raquo ;; * f=fopen (fname.c_str (), wb ); (! f) {// Файл не буде открился- gt; SimpleText= Помилка відкриття файлу + fname ;;
} e=atol (EditE- gt; Text.c_str ()); n=_atoi64 (EditN- gt; Text.c_str ()); ( amp; e, sizeof (Int32), 1 , f); ( amp; n, sizeof (Int64), 1, f); (f); - gt; SimpleText= Відкритий ключ записаний у файл + fname;
}
//---------------------------------------------------------------------------__fastcall TForm1 :: btnPublicLoadClick (TObject * Sender)
{(! OpenDialogPublicKeys- gt; Execute ()) return; * f=fopen ((OpenDialogPublicKeys- gt; FileName) .c_str (), rb ); (! f) {//Немає запису открился- gt; SimpleText= Помилка відкриття файлу + OpenDialogPublicKeys- gt; FileName ;;
} e; n; ( amp; e, sizeof (Int32), 1, f); ( amp; n, sizeof (Int64), 1, f); (f); gt; Text =IntToStr (e); gt; Text=IntToStr (n); - gt; SimpleText= Відкритий ключ завантажений raquo ;;
}
//---------------------------------------------------------------------------__fastcall TForm1 :: btnPrivateSaveClick (TObject * Sender)
{(! SaveDialogPrivateKeys- gt; Execute ()) return; fname=SaveDialogPrivateKeys- gt; FileName; (fname.SubString (fname.Length () - 3, 4) .LowerCase ()!= .prk ) += .prk raquo ;; * f=fopen (fname.c_str (), wb ); (! f) {// Файл не буде открился- gt; SimpleText= Помилка відкриття файлу + fname ;;
} d=_atoi64 (EditD- gt; Text.c_str ()); n=_atoi64 (EditN2- gt; Text.c_str ()); ( amp; d, sizeof (Int64), 1 , f); ( amp; n, sizeof (Int64), 1, f); (f); - gt; SimpleText= Закритий ключ записаний у файл + fname;
}
//---------------------------------------------------------------------------__fastcall TForm1 :: btnPrivateLoadClick (TObject * Sender)
{(! OpenDialogPrivateKeys- gt; Execute ()) return; * f=fopen ((OpenDialogPrivateKeys- gt; FileName) .c_str (), rb ); (! f) {//Немає запису открился- gt; SimpleText= Помилка відкриття файлу + OpenDialogPrivateKeys- gt; FileName ;;
} d; n; ( amp; d, sizeof (Int64), 1, f); ( amp; n, sizeof (Int64), 1, f); (f); gt; Text =IntToStr (d); - gt; Text=IntToStr (n); - gt; SimpleText= Закритий ключ завантажений raquo ;;
}
//---------------------------------------------------------------------------__fastcall TForm1 :: btnEncryptClick (TObject * Sender)
{(EditE- gt; Text.IsEmpty ()) {- gt; SimpleText= Чи не задана відкрита експонента e raquo ;;;
} (EditN- gt; Text.IsEmpty ()) {- gt; SimpleText= Не настроєно модуль n raquo ;;;
} pubKey; .e=atol (EditE- gt; Text.c_str ()) ;. n=_atoi64 (EditN- gt; Text.c_str ()); (! OpenDialogEncrypt- gt; Execute ()) return; * f=fopen (OpenDialogEncrypt- gt; FileName.c_str (), rb ); (! f) {// Файл не буде открился- gt; SimpleText= Помилка відкриття файлу + OpenDialogEncrypt- gt; FileName ;;
} * g=fopen ((OpenDialogEncrypt- gt; FileName + .enc ). c_str (), wb ); (! g) {// Файл не буде открился- gt ; SimpleText= Помилка створення файлу + OpenDialogEncrypt- gt; FileName + .enc raquo ;; (f) ;;
} m;// Вважає сообщеніеme;// Зашифроване сообщеніеr;// Лічильник лічених бітів gt; Max=filelength (fileno (f))/sizeof (Int32); gt; Position=0; (! Feof (f)) {= fread ( amp; m, 1, sizeof (Int32), f ); (r lt; sizeof (Int32)) {// Останні байти, яких менше 4, пишемо без шифрациі ( amp; m, 1, r, g) ;;
}=rsaEncrypt (m, amp; pubKey); ( amp; me, 1, r, g); gt; StepIt ();
} (f); (g); gt; Position=0; - gt; SimpleText= Файл + OpenDialogEncrypt- gt; FileName + зашифрований raquo ;;
}
//------...