Crypto++学习总结---AES

转载 2015年11月20日 16:01:05

静态库下载连接Cryp++ lib 下载

AES 使用方法 如下:

  1. //For AES encrypt  
  2. #include "default.h"   
  3. #include "cryptlib.h"  
  4. #include "filters.h"  
  5. #include "bench.h"  
  6. #include "osrng.h"  
  7. #include "hex.h"  
  8. #include "modes.h"  
  9. #include "files.h"  
  10.   
  11. using namespace CryptoPP;  
  12. #pragma comment(lib, "cryptopp\\lib\\cryptlib.lib")   
  13.   
  14. using namespace std;  
  15.   
  16. void main() {  
  17.   
  18.     unsigned char key[] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x01,0x02, 0x03,0x04,0x05,0x06,0x07,0x08};//AES::DEFAULT_KEYLENGTH  
  19.     unsigned char iv[]  = {0x01,0x02,0x03,0x03,0x03,0x03,0x03,0x03, 0x03,0x03, 0x01,0x02,0x03,0x03,0x03,0x03};  
  20.     int keysize = 16;  
  21.   
  22.     string  message = "Hello World!";  
  23.     string  strEncTxt;  
  24.     string  strDecTxt;  
  25.   
  26.     //CBC - PADDING  
  27.     //AES-CBC Encrypt(ONE_AND_ZEROS_PADDING)  
  28.     CBC_Mode<AES>::Encryption  Encryptor1(key,keysize,iv);   
  29.     StringSource(   message,  
  30.         true,  
  31.         new StreamTransformationFilter( Encryptor1,  
  32.         new StringSink( strEncTxt ),  
  33.         BlockPaddingSchemeDef::BlockPaddingScheme::ONE_AND_ZEROS_PADDING,  
  34.         true)  
  35.         );  
  36.   
  37.     //AES-CBC Decrypt  
  38.     CBC_Mode<AES>::Decryption Decryptor1(key,keysize,iv);   
  39.     StringSource(   strEncTxt,   
  40.         true,  
  41.         new StreamTransformationFilter( Decryptor1,  
  42.         new StringSink( strDecTxt ),  
  43.         BlockPaddingSchemeDef::BlockPaddingScheme::ONE_AND_ZEROS_PADDING,  
  44.         true)  
  45.         );  
  46.   
  47.   
  48.     //CTR - NO_PADDING  
  49.     //AES-CTR Encrypt  
  50.     CTR_Mode<AES>::Encryption  Encryptor2(key,keysize,iv);   
  51.     StringSource(   message,   
  52.         true,  
  53.         new StreamTransformationFilter( Encryptor2,  
  54.         new StringSink( strEncTxt ),  
  55.         BlockPaddingSchemeDef::BlockPaddingScheme::NO_PADDING,  
  56.         true)  
  57.         );   
  58.   
  59.     //AES-CTR Decrypt  
  60.     CTR_Mode<AES>::Decryption Decryptor2(key,keysize,iv);   
  61.     StringSource(   strEncTxt,   
  62.         true,  
  63.         new StreamTransformationFilter( Decryptor2,  
  64.         new StringSink( strDecTxt ),  
  65.         BlockPaddingSchemeDef::BlockPaddingScheme::NO_PADDING,  
  66.         true)  
  67.         );    
  68.   
  69. }

Crypto++库在VS 2013中的使用 + 基于操作模式AES加密

Crypto++库在VS2013中的使用 + 基于操作模式AES加密
  • happy423
  • happy423
  • 2015年08月06日 19:35
  • 2962

AES加密 C++调用Crypto++加密库 例子

这阵子写了一些数据加密的小程序,对比了好几种算法后,选择了AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),听这名字就很厉害的样子 估计会搜索...
  • weiyuefei
  • weiyuefei
  • 2017年05月19日 17:02
  • 804

Crypto++ 入门(2) AES

在我们上一篇文章中,我们介绍了如何安装Crypto++,以及用它完成我们第一个程序。这篇文章主要用来介绍上一篇中的AES程序。 首先让我们来了解一下AES是什么。这部分是准备给对AES不熟的读者看的...
  • interwish
  • interwish
  • 2013年03月31日 23:27
  • 2684

高级加密标准AES的工作模式(ECB、CBC、CFB、OFB)

最近在重构之前写的HTTP代理,这个代理是由代理客户端和代理服务端组成的,二者之前使用SSL保证通信内容不会受到中间人(MITM)攻击。而新的实现打算移除SSL,因为SSL握手的开销过大,尤其是客户端...
  • charleslei
  • charleslei
  • 2015年09月24日 13:44
  • 33332

AES加密算法

AES 算法 加密解密 整体流程
  • con_heart
  • con_heart
  • 2016年03月17日 10:43
  • 713

使用Crypto++实现AES加解密

Crypto++实现AES加密和解密
  • u013702678
  • u013702678
  • 2014年03月17日 20:35
  • 2473

Crypto++学习总结---AES

AES 使用方法 如下: //For AES encrypt #include "default.h" #include "cryptlib.h" #include "filters.h" #inc...
  • wangweitingaabbcc
  • wangweitingaabbcc
  • 2013年09月05日 16:43
  • 6263

AES加密解密图片资源

AES.java import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto....
  • zoeice
  • zoeice
  • 2014年09月18日 13:44
  • 3684

AES加解密多版本(GO、JAVA、Python)实现

GO示例 Java示例 Python示例 异构系统基于RESTful接口加解密 环境:GO1.8/JDK1.8/Python2.7 GO示例 package common ...
  • qq_31105311
  • qq_31105311
  • 2018年02月03日 23:12
  • 18

Crypto的AES及MD5加密

这几天初步研究了一下加密解密算法, 查了不少的资料, 发现中文网上的资料不是很好, 很多说的云里雾里, 对于初步了解学习密码算法的同志很是头痛,不知道是大家都很懂还是有多保留哦下面把自己完成的测试通过...
  • xbaer
  • xbaer
  • 2011年03月17日 16:05
  • 6624
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Crypto++学习总结---AES
举报原因:
原因补充:

(最多只允许输入30个字)