本文整理汇总了C++中AES::StartEncryption方法的典型用法代码示例。如果您正苦于以下问题:C++ AES::StartEncryption方法的具体用法?C++ AES::StartEncryption怎么用?C++ AES::StartEncryption使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AES
的用法示例。
在下文中一共展示了AES::StartEncryption方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenWzKey
void GenWzKey(const uint8_t* IV, uint8_t* key) {
uint8_t BigIV[16];
for (int i = 0; i < 16; i += 4) {
memcpy(BigIV+i, IV, 4);
}
AESGen.SetParameters(256, 128);
AESGen.StartEncryption(AESKey2);
AESGen.EncryptBlock(BigIV, key);
for (int i = 16; i < 0x10000; i += 16) {
AESGen.EncryptBlock(key+i-16, key+i);
}
}
示例2: TransformData
void Crypto::TransformData(uint8_t* IV, uint8_t* data, uint32_t len) {
uint8_t BigIV[16];
for (int i = 0; i < 16; i += 4) {
memcpy(BigIV+i, IV, 4);
}
uint32_t pos = 0;
uint8_t first = 1;
int32_t tpos = 0;
while (len > pos) {
AESGen.SetParameters(256, 128);
AESGen.StartEncryption(AESKey2);
tpos = 1460 - first * 4;
if (len > pos + tpos) {
AESGen.TransformOFB(data + pos, BigIV, tpos);
}
else {
AESGen.TransformOFB(data + pos, BigIV, len - pos);
}
pos += tpos;
if (first) first = 0;
}
}