网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
使用md5校验和算法保护文件
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
(md5校验和类的实现文件)
/*****************************************************************************************
FUNCTION:  CMD5Checksum::GetMD5
DETAILS:  static, public
DESCRIPTION: Gets the MD5 checksum for a specified file
RETURNS:  CString : the hexadecimal MD5 checksum for the specified file
ARGUMENTS:  CString& strFilePath : the full pathname of the specified file
NOTES:   Provides an interface to the CMD5Checksum class. ''''strFilePath'''' name should
    hold the full pathname of the file, eg C:\My Documents\Arcticle.txt.
    NB. If any problems occur with opening or reading this file, a CFileException
    will be thrown; callers of this function should be ready to catch this
    exception.
*****************************************************************************************/
CString CMD5Checksum::GetMD5(const CString& strFilePath)
{
//open the file as a binary file in readonly mode, denying write access
CFile File(strFilePath, CFile::shareDenyNone);
//the file has been successfully opened, so now get and return its checksum
return GetMD5(File);
}


/*****************************************************************************************
FUNCTION:  CMD5Checksum::GetMD5
DETAILS:  static, public
DESCRIPTION: Gets the MD5 checksum for a specified file
RETURNS:  CString : the hexadecimal MD5 checksum for the specified file
ARGUMENTS:  CFile& File : the specified file
NOTES:   Provides an interface to the CMD5Checksum class. ''''File'''' should be open in
    binary readonly mode before calling this function.
    NB. Callers of this function should be ready to catch any CFileException
    thrown by the CFile functions
*****************************************************************************************/
CString CMD5Checksum::GetMD5(CFile& File)
{
try
{
  CMD5Checksum MD5Checksum;  //checksum object
  int nLength = 0;    //number of bytes read from the file
  const int nBufferSize = 1024; //checksum the file in blocks of 1024 bytes
  BYTE Buffer[nBufferSize];  //buffer for data read from the file

  //checksum the file in blocks of 1024 bytes
  while ((nLength = File.Read( Buffer, nBufferSize )) > 0 )
  {
   MD5Checksum.Update( Buffer, nLength );
  }

  //finalise the checksum and return it
  return MD5Checksum.Final();
}

//report any file exceptions in debug mode only
catch (CFileException* e )
{
  TRACE0("CMD5Checksum::GetMD5: CFileException caught");
  throw e;
}
}


/*****************************************************************************************
FUNCTION:  CMD5Checksum::GetMD5
DETAILS:  static,

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号