本文整理汇总了C++中AES::decrypt方法的典型用法代码示例。如果您正苦于以下问题:C++ AES::decrypt方法的具体用法?C++ AES::decrypt怎么用?C++ AES::decrypt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AES
的用法示例。
在下文中一共展示了AES::decrypt方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(char* args[]) {
// instantiate classes
InOut* io = new InOut();
AES* aes;
// delete output files
if (OUTPUTKEYEXP) { remove(FOUT_KEYEXP); }
if (OUTPUTENCRYPT) { remove(FOUT_ENCRYPT); }
if (OUTPUTDECRYPT) { remove(FOUT_DECRYPT); }
// run for all three key sizes
for(int keySize = 128; keySize <= 256; keySize = keySize + 64) {
// title
cout<<"AES (Rijndael) - w/ "<<dec<<keySize<<" Bit Key";
// get key and create cryptographic class
byte* key = io->getKey(keySize);
aes = new AES(keySize, key);
// get message
byte* plaintext = io->get16BytesOfMessage();
// print original message
cout<<"\n\nOriginal Message:\n";
for(int i=0; i<16; i++) {
cout<<hex<<setfill('0')<<setw(2);
cout<<int(plaintext[i]);
}
// run encryption
byte* ciphertext = new byte[16];
ciphertext = aes->encrypt(plaintext);
// print ciphertext
cout<<"\n\nEncrypted Message:\n";
for(int i=0; i<16; i++) {
cout<<hex<<setfill('0')<<setw(2);
cout<<int(ciphertext[i]);
}
// run decryption
byte* decrypttext = aes->decrypt(ciphertext);
// recovered plaintext
cout<<"\n\nDecrypted Message:\n";
for(int i=0; i<16; i++) {
cout<<hex<<setfill('0')<<setw(2);
cout<<int(decrypttext[i]);
}
cout<<"\n\n";
}
return 0;
}
示例2: decrypt
/**
* Decrypts the actual text using the password
* @param password Password
* @return Decrypted text
*/
QByteArray MainWindow::decrypt(QString password)
{
AES crypto;
QString hashedPassword = QString( QCryptographicHash::hash(( password.toUtf8() ),QCryptographicHash::Md5).toHex() );
QByteArray key = crypto.hexStringToByte(hashedPassword);
QByteArray data = QByteArray::fromBase64( ui->textEdit_mainWindow_surface->toPlainText().toUtf8() );
QByteArray decrypted = crypto.decrypt(data, key);
return decrypted;
}
示例3: mainCryptopp
/**
testing.
*/
int mainCryptopp(const char* encryptPath, const char* decryptPath)
{
printf("/***************************************************************************\n");
printf("C++ crypto, wrap cryptopp interface, reference to www.cryptopp.com\n");
printf("[email protected] 2006-5-25\n");
printf("***************************************************************************/\n");
// base64 testing.
{
printf("\n=======================base64=====================\n");
// input data.
const char * indata = "bsmith is a good guy.";
int inlen = (int)strlen(indata);
printf("inlen=%d\n", inlen);
printf("indata(hex)=");
dump(indata, inlen);
// encoding ...
int maxoutlen = Base64::getCipherLen(inlen);
printf("maxoutlen=%d\n", maxoutlen);
char * outdata = new char[maxoutlen];
int outlen = Base64::encode(indata, inlen, outdata);
printf("outlen=%d\n", outlen);
printf("outdata(hex)=");
dump(outdata, outlen);
// encoded base64 string.
char * outstr = new char[outlen+1];
memcpy(outstr, outdata, outlen);
outstr[outlen] = 0x00;
printf("outstr=%s\n", outstr);
// decoding ...
int maxinlen = Base64::getPlainLen(outlen);
printf("maxinlen=%d\n", maxinlen);
char * orgdata = new char[maxinlen];
int orglen = Base64::decode(outdata, outlen, orgdata);
printf("orglen=%d\n", orglen);
printf("orgdata(hex)=");
dump(orgdata, orglen);
delete[] outdata;
delete[] outstr;
delete[] orgdata;
}
// base16 testing.
{
printf("\n=======================base16=====================\n");
// input data.
const char * indata = "bsmith is a good guy.";
int inlen = (int)strlen(indata);
printf("inlen=%d\n", inlen);
printf("indata(hex)=");
dump(indata, inlen);
// encoding ...
int maxoutlen = Base16::getCipherLen(inlen);
printf("maxoutlen=%d\n", maxoutlen);
char * outdata = new char[maxoutlen];
int outlen = Base16::encode(indata, inlen, outdata);
printf("outlen=%d\n", outlen);
printf("outdata(hex)=");
dump(outdata, outlen);
// encoded base16 string.
char * outstr = new char[outlen+1];
memcpy(outstr, outdata, outlen);
outstr[outlen] = 0x00;
printf("outstr=%s\n", outstr);
// decoding ...
int maxinlen = Base16::getPlainLen(outlen);
printf("maxinlen=%d\n", maxinlen);
char * orgdata = new char[maxinlen];
int orglen = Base16::decode(outdata, outlen, orgdata);
printf("orglen=%d\n", orglen);
printf("orgdata(hex)=");
dump(orgdata, orglen);
delete[] outdata;
delete[] outstr;
delete[] orgdata;
}
// RSA testing.
{
printf("\n=======================RSA PKCS #1=====================\n");
// key
// N factor in RSA, aslo called modulus.
const char * N = "90755611487566208138950675092879865387596685014726501531250157258482495478524769456222913843665634824684037468817980814231054856125127115894189385717148934026931120932481402379431731629550862846041784305274651476086892165805223719552575599962253392248079811268061946102234935422772131475340988882825043233323";
// e factor in RSA, aslo called public exponent.
const char * e = "65537";
// d factor in RSA, aslo called private exponent
const char * d = "17790520481266507102264359414044396762660094486842415203197747383916331528947124726552875080482359744765793816651732601742929364124685415229452844016482477236658413327331659722342187036963943428678684677279032263501011143882814728160215380051287503219732737197808611144507720521201393129692996926599975297921";
// input data.
const char * indata = "bsmith is a good guy.";
int inlen = (int)strlen(indata);
//.........这里部分代码省略.........