Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 30.10.2010, 23:20   #11
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Кислый пока неопределено
По умолчанию

Код:
function RSAEncrypt(a,p,rsakey:string):string;
var
zSt: string;
sD,sR,sM:string;
m,e,d,r:TFGInt;
begin
//это то что добавил без этого никак
SetLength(zSt, 98);
FillChar(zSt[1], Length(zSt), 0);
zSt[95]:= #$20;
if length(a)>14 then setlength(a,14);
while length(a)<14 do a:=a+#0;
if length(p)>16 then setlength(p,16);
while length(p)<16 do p:=p+#0;
sD:=zSt+a+p+#0#0#0#0;// ну и сюда вначале добавляю свою строку
sM:=rsakey;
Base10StringToFGInt('65537',e);
Base256StringToFGInt(sD,d);
Base256StringToFGInt(sM,m);
FGIntMontgomeryModExp(d,e,m,r);
FGIntToBase256String(r,sR);
result:=sR;
end;
помогите реализовать на сях.

у самого получается только
Код:
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    cout << "RSA_Encrypt" << endl;

    char zSt[98];
    char sD, sR, sM;
    //? m, e, d, r;
char a_[14];
    //out var
    char a[] = "0123456789ABCDEF";//89ABCDEF";
    char p[] = "0123456789ABCDEF0.123456789";

    char rsakey;
    //begin
    int i_ =0;
    while (i_<sizeof(zSt))
        { zSt[i_]=0 ; i_++; cout << i_-1<< " " << (int)zSt[i_-1] << endl;};

    zSt[95] = 0x20;
    cout << (int)zSt[95] << " " << (float)zSt[95] << endl;

    if (strlen(a)>14)
        {       char a_[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
                int i; for (i=0;i<15;++i){cin>>a_[i];cout<<i<<" "<<a_[i]<<endl;};
                strncpy( a_, a, 14);
                cout <<"a = " << a_ << " " << a << endl;
        };
    while(strlen(a)<14)
        {
                 strcat(a, "0");
        };

    if (strlen(p)>16)
        {       char p_[16];
                strncpy( p_, p, 16);
                cout <<"p =" << p_ << " " << p << endl;
        };
    while(strlen(p)<16)
        {
                 strcat(p, "0");
                 cout << "while  " << p << endl;
        };
        
   // ?? strcat(, "0");    
    
    return 0;
}
как видите никак ((
Кислый вне форума   Ответить с цитированием
 

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 02:11.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!