Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <QCoreApplication>
- #include <QDebug>
- #include <CSP_WinCrypt.h>
- #include <WinCryptEx.h>
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- HCRYPTPROV hProv;
- HCRYPTKEY hSessionKey;
- if (!CryptAcquireContext(&hProv, NULL, NULL,
- PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
- {
- qDebug()<<"Error1";
- //Error("CryptAcquireContext");
- //return;
- }
- qDebug() << "Cryptographic provider initialized";
- // Генерация сессионного ключа
- if (!CryptGenKey(hProv, CALG_RC4,
- CRYPT_ENCRYPT | CRYPT_DECRYPT, &hSessionKey))
- {
- qDebug()<<"Error2";
- //Error("CryptGenKey");
- //return ;
- }
- qDebug() << "Session key generated";
- // Данные для шифрования
- char string[]="Test";
- DWORD count=strlen(string);
- // Шифрование данных
- if (!CryptEncrypt(hSessionKey, 0, true, 0, (BYTE*)string,
- &count, strlen(string)))
- {
- //Error("CryptEncrypt");
- // return;
- }
- qDebug() << "Encryption completed";
- // Тестовый вывод на экран
- qDebug() << "Encrypted string: " << string;
- return a.exec();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement