当前位置: 首页 > news >正文

网站管理员怎么做怎么做企业网站原型

网站管理员怎么做,怎么做企业网站原型,seo公司系统,东莞模板网页制作我自己封装了一个函数GetMd5(LPCWSTR FileDirectory)。其中调用了windows api#xff1a;CryptAcquireContext#xff0c;CryptCreateHash,CryptHashData等。要计算不同文件的md5值#xff0c;只需在调用此函数时传入不同文件的全路径即可#xff0c;不需要额外的dll。示例…我自己封装了一个函数GetMd5(LPCWSTR FileDirectory)。其中调用了windows apiCryptAcquireContextCryptCreateHash,CryptHashData等。要计算不同文件的md5值只需在调用此函数时传入不同文件的全路径即可不需要额外的dll。示例代码在vs2008中测试通过 #include stdafx.h #include iostream #include windows.h using namespace std;void GetMd5(LPCWSTR FileDirectory) {HANDLE hFileCreateFile(FileDirectory,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,NULL,NULL);if (hFileINVALID_HANDLE_VALUE) //如果CreateFile调用失败{coutCreateFile go wrong :GetLastError()endl; //提示CreateFile调用失败并输出错误号。visual studio中可在“工具”“错误查找”中利用错误号得到错误信息。CloseHandle(hFile);}HCRYPTPROV hProvNULL;if(CryptAcquireContext(hProv,NULL,NULL,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT)FALSE) //获得CSP中一个密钥容器的句柄{coutCryptAcquireContext go wrong:GetLastError()endl;}HCRYPTPROV hHashNULL;if(CryptCreateHash(hProv,CALG_MD5,0,0,hHash)FALSE) //初始化对数据流的hash创建并返回一个与CSP的hash对象相关的句柄。这个句柄接下来将被CryptHashData调用。{coutCryptCreateHash go wrong:GetLastError()endl;}DWORD dwFileSizeGetFileSize(hFile,0); //获取文件的大小if (dwFileSize0xFFFFFFFF) //如果获取文件大小失败{coutGetFileSize go wrong:GetLastError()endl;}byte* lpReadFileBuffernew byte[dwFileSize];DWORD lpReadNumberOfBytes;if (ReadFile(hFile,lpReadFileBuffer,dwFileSize,lpReadNumberOfBytes,NULL)0) //读取文件{coutReadFile go wrong:GetLastError()endl;}if(CryptHashData(hHash,lpReadFileBuffer,lpReadNumberOfBytes,0)FALSE) //hash文件{coutCryptHashData go wrong:GetLastError()endl;}delete[] lpReadFileBuffer;CloseHandle(hFile); //关闭文件句柄BYTE *pbHash;DWORD dwHashLensizeof(DWORD);//以下注释掉的代码不用使用因为已经知道md5值就占32个字节没有必要通过CryptGetHashParam函数来得到字节数。/*BYTE *pbHashSize;if (!(pbHashSize(byte*)malloc(dwHashLen))) //为pbHashSize分配内存{coutmemory allocation failed:GetLastError()endl;}//将第二个参数的值设为HP_HASHSIZE。dwHashLen中存放着hash值的字节数。这个调用必须在将第三个参数设置为HP_HASHVAL的调用前这样才能分配正确数量的内存。if (CryptGetHashParam(hHash,HP_HASHSIZE,pbHashSize,dwHashLen,0)) {free(pbHashSize);}else{coutget size go wrongGetLastError()endl;}*/if (CryptGetHashParam(hHash,HP_HASHVAL,NULL,dwHashLen,0)) //我也不知道为什么要先这样调用CryptGetHashParam这块是参照的msdn {}else{coutget length wrongendl;}if(pbHash(byte*)malloc(dwHashLen)){}else{coutallocation failedendl;}if(CryptGetHashParam(hHash,HP_HASHVAL,pbHash,dwHashLen,0)) //获得md5值{for(DWORD i0;idwHashLen;i) //输出md5值{printf(%02x,pbHash[i]);}coutendl;}//善后工作if(CryptDestroyHash(hHash)FALSE) //销毁hash对象{coutCryptDestroyHash go wrong:GetLastError()endl;}if(CryptReleaseContext(hProv,0)FALSE){coutCryptReleaseContext go wrong:GetLastError()endl;} }int _tmain(int argc, _TCHAR* argv[]) {GetMd5(LC:\\Windows\\System32\\kernel32.dll);system(pause);return 0; } 此代码输出系统文件kernel32.dll的md5值在我电脑上运行结果如下图所示
http://www.yutouwan.com/news/402545/

相关文章:

  • 做黑枸杞的公司网站互联网平台服务
  • 亚马逊做外贸英文网站WordPress对接微信公众号
  • 鹤壁河南网站建设住房城乡建设厅网站
  • 网站建设包括什么网站定制电话
  • 高端网站开发找哪家好网站建设运行情况报告
  • 工信部公布网站备案拍照背景南宁太阳能网站建设
  • 个人网站设计与制作代码百度制作的wordpress工具栏
  • 网站创建数据库淘宝联盟做网站
  • 东莞站福公司工资网站开发及运营成本
  • 传统网站模版海口网站建设品牌大全
  • 电子商务网站建设的准备工作有哪些学技术网站
  • 回收类型网站如何做wordpress后台菜单添加设置按钮
  • 怎么给自己的网站做域名苏州网络公司策划
  • 新乡网站优化公司视频制作软件pr
  • 网站建设推推蛙广州定制网站公司
  • 个人备案的网站能做什么免费html网页模板素材网站
  • 国外商城网站设计深圳建设人力资源网
  • 网站优化公司哪家服务好体育网站建设
  • 手机开发和网站开发前景会计网站建设
  • 制作网站一般使用的软件有哪些西安网站设计公司哪家好
  • 响应式网站 768 320重庆网上房地产信息网官网
  • seo怎么优化网站广告创意设计欣赏
  • 深圳市建设交易网站阿里巴巴关键词推广
  • 框架网站建设古侯子 wordpress
  • 网站设计原则的第三要素视频背景制作软件app
  • 做自媒体那几个网站好点wordpress无法寻找图像
  • 北京环评在那个网站上做wordpress 自动退出
  • wordpress发不了博文做十来个网站优化
  • 免费手机网站建设nas ddnsto wordpress
  • 黄山手机网站建设公司排名wordpress点播视频模版