摘要:
使用Crypto++的MD5算法对字符串进行哈希,先在VS2010中新建Win32 Console Application,取工程名为:Crypto-MD5。在工程主目录中新建文件夹include,将Crpyto++的头文件放进去,在同一目录新建lib文件夹,在lib文件夹中再建两个文件夹Debug和Release,之后将Crypto++的调试版和发布版cryptlib.lib分别放到前面两个文件夹中。打开工程Crypto-MD5.cpp文件,修改添加代码如下:==========================Crypto-MD5.cpp====================#includ 阅读全文
摘要:
eccrypto.h提供了基于椭圆曲线加密操作的一系列模板类,将这些类设计成模板主要的原因是有两种类型椭圆曲线。因此,类EC2N(ec2n.h)代表的是基于GF(2n)的椭圆曲线算法;而类ECP(ecp.h)代表的是基于GF(p)的椭圆曲线算法。椭圆曲线的参数保存在模板类ECParameters中,参数能够以多种方式初始化;但是其中一个更实用的用法是使用函数LoadRecommendedParameters(),它提供了建议参数之一,定义在oids.h中。下面看几个实例代码:1)生成一个EC2N密钥对,并保存之:// ECPrivateKey is used directly only bec 阅读全文
摘要:
Base64Encoder是一个接收任何数据输入并将之转换成base64编码的过滤器,并可选地在每行满72个字符时进行换行。在现行版本的Crypto++中,类Base64Encoder对象在销毁时并没有执行对缓冲区中的数据进行编码。因此,除了在一个包含Base64Encoder过滤器的过滤器对象链中,当Base64Encoder之前没有其他过滤器时,函数MessageEnd()会被自动调用外,我们必须在数据输入结束时显式地调用函数MessageEnd()。(注意:MessageEnd()的nPropagation参数能被使用的情况是:当和Base64Encoder关联的其他过滤器对象不需要me 阅读全文
摘要:
Crypto++用户手册のrsa.h:与RSA加解密相关的类都是在rsa.h头文件中定义的。其中类RSAFunction和类InvertibleRSAFunction是分别封装了RSA公钥和私钥信息的基础类,这两个类支持直接通过函数ApplyFunction (公钥操作)和函数CalculateInverse(私钥操作)进行RSA的计算。我们只有在完全清楚自己的操作的情况下,同时使用正确补位(padding),才能直接使用这两个函数。一般情况下,我们更多使用的是rsa.h中通过typedef定义的类型:typedef RSAES<OAEP<SHA> >::Decrypt 阅读全文