在Qt中使用Botan库进行加解密
Contents
在Qt中使用Botan库进行加解密
在毕设项目中需要使用RSA和AES加解密, 因为Qt自带Botan库, 所以使用Botan库来实现. Botan项目网站http://botan.randombit.net
在项目中使用
因为Qt Creator自带Botan库, 所以很容易就可在Qt项目中使用. 首先到Qt Creator的Github页面https://github.com/qtproject/qt-creator, 找到qt-creator/src/libs/3rdparty/botan/
目录, 下载其中的文件. 然后在项目的pro文件中使用include(botan/botan.pri)
引入Botan的源代码.
RSA加解密
引入头文件 #include “botan/botan.h”
生成密钥对
Botan::AutoSeeded_RNG rng;
Botan::RSA_PrivateKey privateKey(rng, 1024);
输出密钥
qDebug() << Botan::X509::PEM_encode(privateKey).c_str() << Botan::PKCS8::PEM_encode(privateKey).c_str();
对字符串加密
Botan::PK_Encryptor_EME enc(privateKey, "EME1(SHA-256)");
char msg[] = "Test";
Botan::SecureVector<Botan::byte> en = enc.encrypt(msg, 6, rng);
解密
Botan::PK_Decryptor_EME dec(privateKey, "EME1(SHA-256)");
Botan::SecureVector<Botan::byte> re = dec.decrypt(en);