Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
C_ret cryptencrypt( c_in crypt_context cryptcontext, c_inout... 13.06.06 14:21 Число просмотров: 3580
Автор: nop Статус: Незарегистрированный пользователь
|
> > char *buffer = "hello world!\0"; > > printf("buffer: %s\n",buffer); > > cryptEncrypt( cryptContext, buffer, strlen(buffer) > > printf("buffer: %s\n",buffer); > > на экран выводит: > > buffer: hello world! > > buffer: hello world! > > Заранее извиняюсь, что не видел в глаза этот cryptlib, но > для решения задачи это и не надо. Достаточно С знать и, > собственно, RSA. > Шифровка не может быть в buffer по нескольким причинам: > 1. Нехорошо "портить" исходный текст. > 2. buffer, указатель, указывающий на константу. При > ожидаемой модификации будет segmentation fault. C_RET cryptEncrypt( C_IN CRYPT_CONTEXT cryptContext, C_INOUT void C_PTR buffer,C_IN int length );
так определяется функция шифрования в загловочном файле cryptlib. C_RET - это int, которая возвращает либо 1, либо ошибку.
А C_INOUT void C_PTR buffer - обратите внимание на C_INOUT... То есть как раз в buffer должен быть записан зашифрованный текст :\
> Возможно и другие варианты, например cryptContext->cifer > и будет указателем на зашифрованый текст. Да дело в том, что cryptContext - это не класс, не структура, а тоже обычный int...
А вы работали когда-нибудь с RSA? Может сможете мне посоветовать библиотеку, которой сами пользовались... А то с этой косяки одни :\
|
|
|