我想做的是:加密一个可执行文件,然后稍后解密。
我的问题是:通过exe正确循环。
以下是我的代码当前的样子:
unsigned char ckey[] = "thiskeyisverybad";
unsigned char ivec[] = "dontusethisinput";
//Initiate the EVP interface
EVP_CIPHER *c = EVP_aes_256_cbc();
//Initialize symmetric cypher
EVP_CIPHER_CTX *ctx = (EVP_CIPHER_CTX) malloc(sizeof(EVP_CIPHER_CTX));
EVP_CIPHER_CTX_init(ctx);
//Set up cypher contex
EVP_EncryptInit(ctx,c,ckey,ivec);
当然,有更好的方法来设置密钥和iv(我正在阅读《使用openssl的网络安全》一书)。这不是我的问题,我的问题是如何正确加载exe并对其进行加密。根据我的理解,我应该以rb模式打开它并阅读它。我不明白的是我应该使用多大的块。我明白,在调用EVP_EncryptUpdate时,我必须输入输入缓冲区和缓冲区长度。我想知道如何读取输入exe。我是否应该在文件中循环,并在每次迭代中读取一个AES_块大小?实现这一目标的正确方法是什么?
下面是一个工作示例,显然EVPAPI将处理任意大小的输入。
void encrypt(FILE *ifp, FILE *ofp)
{
//Get file size
fseek(ifp, 0L, SEEK_END);
int fsize = ftell(ifp);
//set back to normal
fseek(ifp, 0L, SEEK_SET);
int outLen1 = 0; int outLen2 = 0;
unsigned char *indata = malloc(fsize);
unsigned char *outdata = malloc(fsize*2);
unsigned char ckey[] = "thiskeyisverybad";
unsigned char ivec[] = "dontusethisinput";
//Read File
fread(indata,sizeof(char),fsize, ifp);//Read Entire File
//Set up encryption
EVP_CIPHER_CTX ctx;
EVP_EncryptInit(&ctx,EVP_aes_128_cbc(),ckey,ivec);
EVP_EncryptUpdate(&ctx,outdata,&outLen1,indata,fsize);
EVP_EncryptFinal(&ctx,outdata + outLen1,&outLen2);
fwrite(outdata,sizeof(char),outLen1 + outLen2,ofp);
}
这是我在另一篇文章中对此的回答。通过C中的EVP api实现OpenSSL AES 256 CBC
如果生成RSA密钥和加密文本,如下所示 现在我想在JAVA源代码中解密。有什么办法吗?
我使用以下命令加密了一个文件 openssl rand 32>test.key openssl enc-aes-256-cbc-iter 10000-pbkdf2-salt-输入test.txt-输出test.txt.enc-通过文件:test.key 我的代码 我得到的错误 我引用了以下链接 尝试使用时,仍然得到错误
我有这样的情况,我使用OpenSSL生成了一个公钥/私钥对,供gdcmanon使用,遵循他们网站上列出的说明。具体地说,我使用以下命令为gdcmanon生成密钥 然后,我就能够按照他们的指示,加密一个文件,使用 这在c.init(cipher.decrypt_mode,key)行失败; 我已经为Java6安装了JCE(我正在使用)。我不知道我做错了什么。谁能给我指出正确的方向吗。 谢谢
我使用下面的命令使用加密了一个文件 我怎么能解密文件使用python加密包。我尝试了下面,它不工作。 我需要一种使用openssl aes-256-cbc密码加密文件并在python中解密的方法
问题内容: 编辑:::问题中的代码有效,但是一旦在相机中拍摄了图像,返回活动大约需要10秒钟。我放弃了这种方法,而是使用Facebook的隐秘库对图像进行加密和解密。 我看了很多示例,但是仍然找不到解决正确加密和解密的方法。我以为我在互联网上使用一些随机代码时是正确的,但是在解码时会收到BadPadding异常。 所以,我正在努力解决。正如大多数人在SO上所建议的那样,我正在关注以下问题(但是
编辑:::问题中的代码起作用,但一旦图像被相机拍摄,返回活动需要大约10秒的时间。我放弃了这种做法,使用Facebook的隐藏库来加密和解密图像。链接到Facebook的解决方案:Facebook隐藏-图像加密和解密 所以,我正在努力解决这个问题。我遵循下面的问题,正如SO上的大多数人所建议的那样(但这段代码展示了如何加密字符串)。有人能帮我加密和解密图像吗?问题中的代码是否适用于图像? 链接到问