Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Заранее извиняюсь, что не видел в глаза этот cryptlib, но... 13.06.06 10:35 Число просмотров: 3385
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 13.06.06 10:37 Количество правок: 1
|
> 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.
3. Шифровка будет соизмерима с длиной ключа, а не с исходным текстом. Так что она просто не поместится в buffer, если strlen(buffer)<sizeof(cryptContext->key) (извиняюсь за корявое неравенство).
4. По хорошему функция шифрования должна возвращать шифровку и (полагаю) должна быть описана примерно так: char *cryptEncrypt( cryptContext, buffer, strlen(buffer) ); Возможно и другие варианты, например cryptContext->cifer и будет указателем на зашифрованый текст.
|
|
|