• 大小: 2.59MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-05
  • 语言: 其他
  • 标签:

资源简介

从Linux内核移植而来的AES算法,应用于VC中实现加密BMP图片,算法的效率很快

资源截图

代码片段和文件信息

#include“AES.H“
#include“ENTRY.h“
#include“KEY.h“
#include“BMP.h“
#include“stdio.h“
#include“string.h“
struct BITMAPINFOHEADER bmih;
struct BITMAPFILEHEADER bmfh; 

int AES_Encrypt(char *plainFile char *keyStrint keylengthchar *cipherFile){    
FILE *plain*cipher; 
    int countstlen;
    int filelen;
    char plainBlock[16]cipherBlock[16];  
    //密钥设置
struct crypto_aes_ctx key;
char str[32];
memcpy(strkeyStrkeylength);
    crypto_aes_expand_key(&key(unsigned char *)strkeylength); 
    //打开文件
if((plain = fopen(plainFile“rb“)) == NULL){  
        return -1;  
    }     
    if((cipher = fopen(cipherFile“wb“)) == NULL){  
        return -1;  
    }       
    fseek(plain0SEEK_END);   //将文件指针置尾  
    filelen = ftell(plain);    //取文件指针当前位置  
    rewind(plain);             //将文件指针重指向文件头  
    filelen-=sizeof(bmfh)+sizeof(bmih);
    s=filelen/16;
t=filelen%16;

len=sizeof(bmfh);
    count=fread(&bmfhsizeof(char)lenplain);
    fwrite(&bmfhsizeof(char)lencipher); 
len=sizeof(bmih);
    count=fread(&bmihsizeof(char)lenplain);
fwrite(&bmihsizeof(char)lencipher); 
   

    while(s>0){  
        //每次读16个字节,并返回成功读取的字节数  
        if((count = fread(plainBlocksizeof(char)16plain)) == 16){  
            aes_encrypt(&key(u8*)cipherBlock(u8*)plainBlock);
            fwrite(cipherBlocksizeof(char)16cipher);    
        } 
s--;
    }  
    if(t){ 
fread(cipherBlocksizeof(char)tplain);
        fwrite(cipherBlocksizeof(char)tcipher);  
    }  
    fclose(plain);  
    fclose(cipher);  
    return OK;  
}  


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1572918  2011-03-05 21:18  AES\1.BMP

     文件    1572918  2011-04-08 14:18  AES\2.bmp

     文件    1572918  2011-04-08 14:18  AES\3.bmp

     文件       1678  2011-03-14 16:20  AES\AES.c

     文件          0  2011-03-14 16:24  AES\AES.cpp

     文件       4601  2011-03-16 18:54  AES\AES.dsp

     文件        531  2011-03-14 12:50  AES\AES.dsw

     文件      53155  2011-03-17 20:35  AES\AES.h

     文件      66560  2011-04-08 14:18  AES\AES.ncb

     文件      50688  2011-04-08 14:18  AES\AES.opt

     文件       1446  2011-04-08 14:18  AES\AES.plg

     文件        913  2011-03-14 16:27  AES\BMP.h

     文件        558  2011-03-18 10:56  AES\chaos.h

     文件      66560  2011-03-15 14:35  AES\Debug\AES.bsc

     文件     249933  2011-04-08 14:18  AES\Debug\AES.exe

     文件     240056  2011-04-08 14:18  AES\Debug\AES.ilk

     文件       1452  2011-03-14 16:24  AES\Debug\AES.obj

     文件     297712  2011-04-08 14:18  AES\Debug\AES.pch

     文件     484352  2011-04-08 14:18  AES\Debug\AES.pdb

     文件          0  2011-03-14 16:24  AES\Debug\AES.sbr

     文件      56516  2011-04-08 14:18  AES\Debug\main.obj

     文件      19009  2011-04-08 14:18  AES\Debug\main.sbr

     文件      50176  2011-04-08 14:18  AES\Debug\vc60.idb

     文件      53248  2011-04-08 14:18  AES\Debug\vc60.pdb

     文件       1870  2011-03-14 16:40  AES\DETRY.h

     文件       1966  2011-03-17 22:54  AES\ENTRY.h

     文件       3782  2011-03-18 08:47  AES\KEY.h

     文件       4148  2011-03-18 10:56  AES\main.cpp

     文件     987054  2011-03-17 23:40  AES\tyf.bmp

     文件    1440056  2011-03-17 23:40  AES\山.bmp

............此处省略7个文件信息

评论

共有 条评论

相关资源