C++ mcrypt linux如何使用rijndael 256 cbc
我在linux/ubuntu上工作。我发现在这个平台中,mcrypt自动包含为一个库。我想用aes 256和cbc padding 7(iv)创建一个加密。有人能给我举个例子,说明如何用aes 256和cbc iv加密字符串,填充7吗 Rijndael和aes是一样的C++ mcrypt linux如何使用rijndael 256 cbc,c++,linux,ubuntu,mcrypt,C++,Linux,Ubuntu,Mcrypt,我在linux/ubuntu上工作。我发现在这个平台中,mcrypt自动包含为一个库。我想用aes 256和cbc padding 7(iv)创建一个加密。有人能给我举个例子,说明如何用aes 256和cbc iv加密字符串,填充7吗 Rijndael和aes是一样的 这是我找到的我想使用的库的链接:你是在问如何使用mcrypt?以下是一个基本框架: #include <mcrypt.h> int main() { char algo[] = "rijndael-256";
这是我找到的我想使用的库的链接:你是在问如何使用
mcrypt
?以下是一个基本框架:
#include <mcrypt.h>
int main()
{
char algo[] = "rijndael-256";
char mode[] = "cbc";
char key[] = ...
char iv[] = ...
MCRYPT td = mcrypt_module_open(algo, NULL, mode, NULL);
if (td == MCRYPT_FAILED) { /* error */ }
int r = mcrypt_generic_init(td, key, keysize, iv);
/* use mdecrypt_generic() or mcrypt_generic() */
mcrypt_generic_deinit(td);
mcrypt_module_close(td);
}
(图书馆等级代码当然会测试
n
是否可以用char
表示,并且在剥离期间,输入字符串是非空的,填充是有效的。)您是否询问如何使用mcrypt
?以下是一个基本框架:
#include <mcrypt.h>
int main()
{
char algo[] = "rijndael-256";
char mode[] = "cbc";
char key[] = ...
char iv[] = ...
MCRYPT td = mcrypt_module_open(algo, NULL, mode, NULL);
if (td == MCRYPT_FAILED) { /* error */ }
int r = mcrypt_generic_init(td, key, keysize, iv);
/* use mdecrypt_generic() or mcrypt_generic() */
mcrypt_generic_deinit(td);
mcrypt_module_close(td);
}
(库级代码当然会测试
n
是否可以用char
表示,并且在剥离期间,输入字符串是非空的,填充是有效的。)thx用于示例。我的IV是[0,0,0,0,0,0,0]。该键是一个32键字符串,如:key=“AESD-CBED-POKF-OHFB-SNCJ-POLD-OK”。你能告诉我怎么放这个吗?另外我需要一个PKCS7填充物。加密的结果会在td变量中吗?这是一个.C文件吗?如何用MCRYPT编译它?如果我想静态编译mcrypt.cpp代码(无依赖项),我将在哪里找到它。谢谢!!真的很感激:)请看一下说明书。mcrypt有一本很好的手册,可以回答所有这些问题。在Linux上,键入manlibmcrypt
。我认为mcrypt没有任何生成填充的函数。您需要提供正确大小的输入数据,即块大小的倍数。也许你可以在其他地方找到填充算法。顺便说一下,你的IV需要有正确的大小。使用我列出的函数来确定示例中的size.thx。我的IV是[0,0,0,0,0,0,0]。该键是一个32键字符串,如:key=“AESD-CBED-POKF-OHFB-SNCJ-POLD-OK”。你能告诉我怎么放这个吗?另外我需要一个PKCS7填充物。加密的结果会在td变量中吗?这是一个.C文件吗?如何用MCRYPT编译它?如果我想静态编译mcrypt.cpp代码(无依赖项),我将在哪里找到它。谢谢!!真的很感激:)请看一下说明书。mcrypt有一本很好的手册,可以回答所有这些问题。在Linux上,键入manlibmcrypt
。我认为mcrypt没有任何生成填充的函数。您需要提供正确大小的输入数据,即块大小的倍数。也许你可以在其他地方找到填充算法。顺便说一下,你的IV需要有正确的大小。使用我列出的函数来确定该大小。