当前位置: 首页>>代码示例>>C++>>正文


C++ AES::decrypt方法代码示例

本文整理汇总了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;

}
开发者ID:zpm,项目名称:zpm-me,代码行数:59,代码来源:main.cpp

示例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;
}
开发者ID:1cy1c3,项目名称:scribo,代码行数:18,代码来源:mainwindow.cpp

示例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);
//.........这里部分代码省略.........
开发者ID:XClouded,项目名称:aes-rsa-cpp-java,代码行数:101,代码来源:test.cpp


注:本文中的AES::decrypt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。