卡戴珊qvod,战斗在大马,javpee
// aesdemo.cpp : 定义控制台应用程序的入口点。 //
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include "aes.h" using namespace std; using namespace cryptopp; int main() { cout << "aes demo "<< aes::staticalgorithmname() << endl; unsigned char aeskey[aes::default_keylength] = "aes"; //密钥 aesencryption aesencryptor; //加密器 aesencryptor.setkey(aeskey, aes::default_keylength); //设定加密密钥 char* srcdata = "123456789abcdefghi987654321"; cout << "will be encode:" << srcdata << endl; unsigned char xorblock[aes::blocksize]; //必须设定为全零 memset(xorblock, 0, aes::blocksize); //置零 unsigned char inblock[aes::blocksize]; //要加密的数据块 unsigned char outblock[aes::blocksize]; //加密后的密文块 aesdecryption aesdecryptor; aesdecryptor.setkey(aeskey, aes::default_keylength); unsigned char plaintext[aes::blocksize]; int srclen = strlen(srcdata); char* dstdata = (char*)calloc(srclen, sizeof(char)); int pos = 0; do { int relaysize = srclen - pos; int cpsize = relaysize > aes::blocksize ? aes::blocksize : relaysize; memset(inblock, 0, aes::blocksize); memset(outblock, 0, aes::blocksize); memset(plaintext, 0, aes::blocksize); memcpy(inblock, srcdata + pos, cpsize); aesencryptor.processandxorblock(inblock, xorblock, outblock); //加密 aesdecryptor.processandxorblock(outblock, xorblock, plaintext); memcpy(dstdata + pos, plaintext, cpsize); pos += cpsize; } while (pos < srclen-1); cout << "after encode and decode :" << dstdata << endl; free(dstdata); getchar(); return 0; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论