Форум программистов, компьютерный форум CyberForum.ru

crypto api не работает CryptGenKey - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись текста и генерация случайного числа http://www.cyberforum.ru/cpp-beginners/thread783667.html
Собственно задача такая: записать строки с рандомными числовым значением в некоторое количество создаваймых файлов. Файлы создаются без проблем, но по какой-то причине все соответственные рандомные числа одинаковы! Например, вывод должен быть примерно таким: baseline=63 baseline=58 baseline=67 ... Но он такой:
C++ Подсчитать среднее арифметическое тех элементов массива, что содержат четное число битов, не равных 1 В массиве целых чисел подсчитать среднее арифметическое тех элементов, что содержат четное число битов не равных 1. Вывести число в десятичном, шестнадцатеричном и двоичном форматах. Размер массива вводится пользователем во время выполнения программы. Массив заполняется случайными числами. Помогите написать программу ,пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread783660.html
Каков будет фактический аргумент для parameter source? C++
Предположим, что у нового foo класса естьprotype для перегруженного оператора назначения: void operator =(const foo& source); В операторе присваивания a= b, каков будет фактический аргумент для parameter source? a) a; b) b. 10) Предположим, что Вы осуществляете оператор назначения, copy конструктора и оператор + =. Для какой из этих функций "self-application" (где аргумент совпадает...
Существует небольшая функция, которая использует динамический класс bag (2) C++
Существует небольшая функция, которая использует динамический класс bag Код C++ 1.void quiz( ) 2.{ 3.bag::size_type i; // Line 1 4.bag b; // Line 2 5.b.insert(42); // Line 3 6.i = b.size( ); // Line 4 7.cout << i; // Line 5
C++ Существует небольшая функция, которая использует динамический класс bag http://www.cyberforum.ru/cpp-beginners/thread783646.html
Существует небольшая функция, которая использует динамический класс bag Код C++ 1.void quiz( ) 2.{ 3.bag::size_type i; // Line 1 4.bag b; // Line 2 5.b.insert(42); // Line 3 6.i = b.size( ); // Line 4 7.cout << i; // Line 5
C++ Удаление корня двоичного дерева двоичное дерево состоит только из ptr корень двоичного дерева как удалить этот корень? подробнее

Показать сообщение отдельно
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
11.02.2013, 10:25     crypto api не работает CryptGenKey
http://www.rsdn.ru/article/crypto/usingcryptoapi.xml
беру пример из этой статьи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
HCRYPTPROV hProv;
HCRYPTKEY hSessionKey;
 
// Получение контекста криптопровайдера
if (!CryptAcquireContext(&hProv, NULL, NULL, 
    PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
{
  Error("CryptAcquireContext");
  return;
}
 
std::cout << "Cryptographic provider initialized" << std::endl;
 
// Генерация сессионного ключа
if (!CryptGenKey(hProv, CALG_RC4, 
    CRYPT_ENCRYPT | CRYPT_DECRYPT, &hSessionKey))
{
  Error("CryptGenKey");
  return;
}
 
std::cout << "Session key generated" << std::endl;
 
// Данные для шифрования
char string[]="Test";
DWORD count=strlen(string);
 
// Шифрование данных
if (!CryptEncrypt(hSessionKey, 0, true, 0, (BYTE*)string, 
    &count, strlen(string)))
{
  Error("CryptEncrypt");
  return;
}
 
std::cout << "Encryption completed" << std::endl;
 
// Тестовый вывод на экран
std::cout << "Encrypted string: " << string << std::endl;
Добавлено через 57 секунд
уже на 15-ой строке выводится сообщение об ошибке - что функция не отработала. почему?

Добавлено через 11 минут
чую что не правильный параметр какой-то, пытался гуглить, нашел что рсдн при переводе намудрили с CRYPT_ENCRYPT | CRYPT_DECRYPT, но если не это, то что туда передать?

Добавлено через 21 минуту
C++
1
2
CryptGenKey(hProv, CALG_RC4,
    CRYPT_EXPORTABLE, &hSessionKey)
заработало

Добавлено через 48 минут
что за рсдн, почему примеры с него не работают, кто его вообще писал? теперь очередная проблема с экспортом ключей, пример с рсдн не работает, вылетает на 1ом условие, CryptAcquireContext
пример по ссылке в 1ом посту, чуть ниже прошлого примера
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru