Chinaunix首页 | 论坛 | 博客
  • 博客访问: 102671
  • 博文数量: 32
  • 博客积分: 151
  • 博客等级: 入伍新兵
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-11 16:18
文章分类

全部博文(32)

文章存档

2014年(27)

2013年(5)

我的朋友

分类: 网络与安全

2014-03-25 20:05:31

在win32的操作系统下用vc6++来编译Crypto++? Library 5.1 的源代码,在对应的目录下会产生文件夹Debug,在文件夹Debug里,会有一个编译好的静态库文件cryptlib.lib;下面通过实例研究这个静态库文件的使用:

在应用lib文件时先把库里的头文件和lib文件复制到工程的目录里这是最好的方法,或者把它们放到一个文件夹里修改指定的include 目录,即在菜单Tools中选Options,在Options的对话框里选Directories在include files和Library files 的页面添加指向该文件夹的路径。



3.1、Hash函数的应用:

Hash函数的最基本的用法就是计算Hash值,一个Hash函数是一个多对一的映射,可以输入任意长度的消息,输出却是一个固定长度的消息,而且,只要有一点很微小的差异的两个消息之间的Hash值也会有很大的差异,根据两个不同的Hash值就可以判断对应的两个消息是不同的。所以Hash函数通常用于数字签名和消息的完整性检测等等一些安全性方面的应用。下面举一个计算字符串的Hash值简单的例子。

[cpp]
  1. #pragma comment (lib,"cryptlib.lib")  //加载lib文件的语句 
  2.  
  3. #include "md5.h" 
  4.  
  5. #include  
  6.  
  7. using namespace CryptoPP; //使用名字空间CryptoPP 
  8.  
  9. using namespace std; //使用名字空间std 
  10.  
  11.   
  12. void main(){ 
  13.  
  14.     byte message[128];       byte m[16]; 
  15.  
  16.        cout<<"输入字符串"<char*) message,128);  
  17.  
  18.        MD5 md5; md5.Update(message,128); md5.Final(m);        
  19.  
  20.        for(int i=0;i<16;i++)printf("%02x",m[i]);printf("\n");            
  21.  

阅读(1765) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~