cryptopp hmac在Vs2010中怎么用

如何在vs2010中使用bootstrap3.2_百度知道
如何在vs2010中使用bootstrap3.2
将bootstrap3.2下载到本地后
提问者采纳
新建网站,将bootstrap3.2 解压出来的文件夹放到该项目下 。
导入css路径应该怎么写呢
新建个页面,然后把在解决方案管理器中直接把css文件拖到指定位置就好
我用layoutit可视化编辑后
出来不到应该出来的效果
我审查了元素后
里面比如 div class=&span 3& 这个就无法出效果
Layoutit我应该怎么使用呢? 感谢大神的帮助。
提问者评价
万分感谢您对我的指导。
其他类似问题
为您推荐:
vs2010的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&&&&CryptoppTestC vs2010 加密解密代码
CryptoppTestC vs2010 加密解密代码
该代码是在vs2010上编译的,里面包含了Crypto++调式和发布版本的静态库,带有界面的Crypto++静态编译使用例子 DES AES SHA256 RSA
若举报审核通过,可奖励20下载分
被举报人:
lu_2012_01kk
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行3400人阅读
SSE并行(23)
1、主要就是在工程中包含SSE头文件即可,具体如下:
& & mmintrin.h & & & & & & & MMX
& & & xmmintrin.h & & & & & SSE
& & & emmintrin.h & & & & &SSE2
& & & pmmintrin.h & & & & &SSE3
& & & tmmintrin.h & & & & & SSSE3
& & & intrin.h & & & & & & & & & &SSE4A
& & & smmintrin.h & & & & &SSE4.1
& & & nmmintrin.h & & & & &SSE4.2
2、然后vs2010工程的编译方式最好修改为x64的64位编译。
3、项目属性的“C/C++”-&“语言”中,添加openmp支持。
4、使用鲁大师查看你的CPU特征,以本人i5 2410为例,特征为“MMX SSE SSE2 SSE3 SSE4.1 SSE4.2”,就说明该CPU支持SSE 4.2指令集。
5、在vs2010工程中添加相应指令集的头文件,既可以开始SSE编程之旅。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:287231次
积分:4004
积分:4004
排名:第4688名
原创:42篇
转载:114篇
评论:547条CryptoPP使用介绍
Crypto++是个免费的C++加解密类库,由于资格太老、持续更新,最新版本到了CryptoPP 5.6,对天缘而言,第一眼看到CryptoPP就感觉头大,根目录下放置大量单源文件、编译文件、项目文件,再加上多平台和多编译器支持,文件几乎又多了一倍,而且还是都混到一起,直接就让人望而却步。毕竟Crypto是个功能完整,且经过大量用户使用考验的开源库。所以,皱眉学习汇总一下,遂成此文。
官方网址:
本文测试环境:Windows7 SP1+VC6,测试工程名为Test。用VC打开CryptoPP工程文件,会发现有四个子工程:
cryptdll - 生成cryptopp.dll动态库
dlltest - 用来测试cryptopp.dll,依赖cryptdll工程
cryptlib - 生成cryptlib.lib静态库
cryptest - 用来测试cryptopp,依赖cryptlib工程
所以,我们有两种使用CryptoPP方法,一种是静态链接,还有一种是动态链接,使用对应的工程编译即可,区别就不说了,我们下文以静态链接为例,介绍几种常用加解密算法使用。
一、编译cryptlib
首先需要编译cryptlib,最后得到cryptlib.lib文件。
先在测试工程Test下创建目录cryptopp\lib和cryptopp\include,并把Project Settings-C/C++-Processor下Include目录增加&cryptopp\include&。
把cryptlib.lib拷贝到Test\cryptopp\lib下。
把cryptoPP根目录下所有的*.h文件都拷贝到Test\cryptopp\include下。当然实际上用不了那么多,后续用到哪个include哪个。
下文开始测试使用CryptoPP,实际使用中,如果功能上逻辑上需要修改,可以参考上文测试工程中的示例程序,以及官方文档。下文编译如果报告XX重复定义等错误,请检查LIB库工程和本测试工程的:Project Setting-C/C++-Code Generation User run-time library是否统一。
二、测试cryptlib
1、测试MD5
#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
#include &md5.h&
using namespace CryptoPP;
#pragma comment(lib, &cryptopp\\lib\\cryptlib.lib&)
void main() {
byte message[]=&HelloWorld!&;
byte mres[16];//MD5 128 bits=16bytes
Weak::MD5 md5;
md5.Update(message,11);//strlen=11
md5.Final(mres);
for(int i=0;i&16;i++)
printf(&%02X&,mres[i]);
printf(&\n&);
2、测试AES
//For AES encrypt
#include &default.h&
#include &cryptlib.h&
#include &filters.h&
#include &bench.h&
#include &osrng.h&
#include &hex.h&
#include &modes.h&
#include &files.h&
using namespace CryptoPP;
#pragma comment(lib, &cryptopp\\lib\\cryptlib.lib&)
void main() {
unsigned char key[] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x01,0x02, 0x03,0x04,0x05,0x06,0x07,0x08};//AES::DEFAULT_KEYLENGTH
unsigned char iv[] = {0x01,0x02,0x03,0x03,0x03,0x03,0x03,0x03, 0x03,0x03, 0x01,0x02,0x03,0x03,0x03,0x03};
int keysize = 16;
string message = &Hello World!&;
string strEncT
string strDecT
//CBC - PADDING
//AES-CBC Encrypt(ONE_AND_ZEROS_PADDING)
CBC_Mode&AES&::Encryption
Encryptor1(key,keysize,iv);
StringSource( message,
new StreamTransformationFilter( Encryptor1,
new StringSink( strEncTxt ),
BlockPaddingSchemeDef::BlockPaddingScheme::ONE_AND_ZEROS_PADDING,
//AES-CBC Decrypt
CBC_Mode&AES&::Decryption Decryptor1(key,keysize,iv);
StringSource( strEncTxt,
new StreamTransformationFilter( Decryptor1,
new StringSink( strDecTxt ),
BlockPaddingSchemeDef::BlockPaddingScheme::ONE_AND_ZEROS_PADDING,
//CTR - NO_PADDING
//AES-CTR Encrypt
CTR_Mode&AES&::Encryption
Encryptor2(key,keysize,iv);
StringSource( message,
new StreamTransformationFilter( Encryptor2,
new StringSink( strEncTxt ),
BlockPaddingSchemeDef::BlockPaddingScheme::NO_PADDING,
//AES-CTR Decrypt
CTR_Mode&AES&::Decryption Decryptor2(key,keysize,iv);
StringSource( strEncTxt,
new StreamTransformationFilter( Decryptor2,
new StringSink( strDecTxt ),
BlockPaddingSchemeDef::BlockPaddingScheme::NO_PADDING,
上文是使用StringSource方式加密字符串,还可以使用FileSource方式直接对文件进行加解密操作。示例如下:
SecByteBlock HexDecodeString(const char *hex) {
StringSource ss(hex, true, new HexDecoder);
SecByteBlock result((size_t)ss.MaxRetrievable());
ss.Get(result, result.size());
void AES_CTR_Encrypt(const char *hexKey, const char *hexIV, const char *infile, const char *outfile) {
SecByteBlock key = HexDecodeString(hexKey);
SecByteBlock iv = HexDecodeString(hexIV);
CTR_Mode&AES&::Encryption aes(key, key.size(), iv);
FileSource(infile, true, new StreamTransformationFilter(aes, new FileSink(outfile)));
直接调用AES_CTR_Encrypt函数即可,CBC函数需对应修改。
四、使用提示
1、StringSource类定义filters.h
//! zero terminated string as source
StringSource(const char *string, bool pumpAll, BufferedTransformation *attachment = NULL)
: SourceTemplate&StringStore&(attachment) {SourceInitialize(pumpAll, MakeParameters(&InputBuffer&, ConstByteArrayParameter(string)));}
//! binary byte array as source
StringSource(const byte *string, size_t length, bool pumpAll, BufferedTransformation *attachment = NULL)
: SourceTemplate&StringStore&(attachment) {SourceInitialize(pumpAll, MakeParameters(&InputBuffer&, ConstByteArrayParameter(string, length)));}
//! std::string as source
StringSource(const std::string &string, bool pumpAll, BufferedTransformation *attachment = NULL)
: SourceTemplate&StringStore&(attachment) {SourceInitialize(pumpAll, MakeParameters(&InputBuffer&, ConstByteArrayParameter(string)));}
2、RSA有关的加解密、签名函数
更多请参考工程cryptest工程下test.cpp文件内函数
void GenerateRSAKey(unsigned int keyLength, const char *privFilename, const char *pubFilename, const char *seed);
string RSAEncryptString(const char *pubFilename, const char *seed, const char *message);
string RSADecryptString(const char *privFilename, const char *ciphertext);
void RSASignFile(const char *privFilename, const char *messageFilename, const char *signatureFilename);
bool RSAVerifyFile(const char *pubFilename, const char *messageFilename, const char *signatureFilename);
相关文章:&&
相关评论(2):&&
天缘网友 []:
21:12:06 发表
你好,如果已知AES的密钥和密文,想解密该怎么做呢?还有为什么你的例子中的加密密文都是乱码呢?
邮箱(选填)
主页(选填)
记住我,下次回复时不用再次输入个人信息
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

我要回帖

更多关于 cryptopp aes 的文章

 

随机推荐