本文整理汇总了C++中AES::encrypt方法的典型用法代码示例。如果您正苦于以下问题:C++ AES::encrypt方法的具体用法?C++ AES::encrypt怎么用?C++ AES::encrypt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AES
的用法示例。
在下文中一共展示了AES::encrypt方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
if(argc < 3) {
printf("USAGE: aes KEY PLAINTEXT\n");
return 1;
}
byte *key;
uint *ct, *pt;
uint keySize = stringToByteArray(argv[1], &key);
uint ptSize = stringToByteArray(argv[2], &pt);
if(keySize != 16 && keySize != 24 && keySize != 32) {
printf("Invalid AES key size.\n");
return 1;
}
if(ptSize % 4 != 0) {
printf("Plaintext size must be a multiple of AES block size.\n");
return 1;
}
ct = (uint *)malloc(ptSize*sizeof(uint));
AES *aes = new AES();
aes->makeKey(key, keySize << 3, DIR_ENCRYPT);
for(uint i = 0; i < ptSize; i += 4) {
aes->encrypt(pt + i, ct + i);
}
printHexArray(ct, ptSize);
return 0;
}
示例2: 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;
}
示例3: encrypt
/**
* Encrypts the actual text using the password
* @param password Password
* @return Encrypted text
*/
QByteArray MainWindow::encrypt(QString password)
{
AES crypto;
QString hashedPassword = QString( QCryptographicHash::hash(( password.toUtf8() ),QCryptographicHash::Md5).toHex() );
QByteArray key = crypto.hexStringToByte(hashedPassword);
QByteArray data = ui->textEdit_mainWindow_surface->toHtml().toUtf8();
QByteArray encrypted = crypto.encrypt(data, key);
return encrypted;
}
示例4: main
int main(int argc, char **argv) {
if(argc < 2) {
printf("USAGE: benchmark FILE\n");
return 1;
}
byte key[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
uint keySize = 16;
uint *ct, *pt;
FILE *f = fopen(argv[1], "rb");
if(f == NULL) {
printf("File not found.\n");
return 1;
}
fseek(f, 0, SEEK_END);
uint f_size = ftell(f);
rewind(f);
if(f_size % 4*sizeof(uint) != 0) {
printf("Plaintext size must be a multiple of AES block size.\n");
return 1;
}
uint ptSize = f_size / sizeof(uint);
pt = (uint*)malloc(f_size);
fread(pt, sizeof(uint), ptSize, f);
fclose(f);
ct = (uint *)malloc(ptSize*sizeof(uint));
AES *aes = new AES();
aes->makeKey(key, keySize << 3, DIR_ENCRYPT);
clock_t start = clock();
for(uint i = 0; i < ptSize; i += 4) {
aes->encrypt(pt + i, ct + i);
}
clock_t end = clock();
printf("%d blocks encrypted in %d/%d seconds.\n", ptSize >> 2, end-start, CLOCKS_PER_SEC);
return 0;
}
示例5: 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);
//.........这里部分代码省略.........