如何利用openSsl来计算一个文件的md5值?
openssl环境的配置, 我就不再说了。在本文中, 我们来讨论一个文件的md5值, 废话少说, 直接给大家代码, 上点干货:
- #include <iostream>
- #include <openssl/md5.h> // 如果你直接拷贝我的程序运行, 那注定找不到md5.h
- #pragma comment(lib, "libeay32.lib")
- #pragma comment(lib, "ssleay32.lib") // 在本程序中, 可以注释掉这句
- using namespace std;
- int main()
- {
- MD5_CTX ctx;
- int len = 0;
- unsigned char buffer[1024] = {0};
- unsigned char digest[16] = {0};
- FILE *pFile = fopen ("test1.db", "rb"); // 我没有判断空指针
- MD5_Init (&ctx);
- while ((len = fread (buffer, 1, 1024, pFile)) > 0)
- {
- MD5_Update (&ctx, buffer, len);
- }
- MD5_Final (digest, &ctx);
- fclose(pFile);
- int i = 0;
- char buf[33] = {0};
- char tmp[3] = {0};
- for(i = 0; i < 16; i++ )
- {
- sprintf(tmp,"%02X", digest[i]); // sprintf并不安全
- strcat(buf, tmp); // strcat亦不是什么好东西
- }
- cout << buf << endl; // 文件的md5值
- return 0;
- }
经与其他工具软件进行对比, 发现结果完全一致。
如何利用openSsl来计算一个文件的md5值?相关推荐
- [Golang]计算一个文件的MD5值
说明 在实际的开发过程中,总需要对文件进行md5加密的需求,在开发过程中,我就遇到了将表单文件MD5后再存储本地的需求. 解决 MD5的所需要的包在"crypto/md5"包中,需 ...
- 利用python实现批量修改文件的md5值
# 该.py文件与待修改文件置于同一文件夹下,操作运行即可实现功能.注意观察操作台反馈. import os import random import sys import hashlib# 获取当前 ...
- 用windows api 计算文件的md5值
我自己封装了一个函数GetMd5(LPCWSTR FileDirectory).其中调用了windows api:CryptAcquireContext,CryptCreateHash,CryptHa ...
- 使用Java计算文件的MD5值(含修改MD5值的方法)
什么是 MD5 ? MD5(Message Digest Algorithm,信息摘要算法),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保 ...
- linux 文件md5,Linux下计算文件的MD5值
脚本功能 脚本使用Perl编写,计算文件的MD5值 脚本用途 服务器在安装完操作系统后,计算PATH变量里面所有的二进制文件的MD5.计算单个文件MD5值.计算某个目录(包括子目录)下所有的文件的MD ...
- python计算文件md5值_用python计算文件的MD5值
md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...
- 编写一个计算机程序用来计算一个文件的 16 位效验和(Java实现)
编写一个计算机程序用来计算一个文件的 16 位效验和(Java实现) 题目 编写一个计算机程序用来计算一个文件的 16 位效验和.最快速的方法是用一个 32 位的整数来存放这个和.记住要处理进位(例如 ...
- python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在
通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...
- 利用openssl来计算sha1, sha224, sha256, sha384, sha512
转载:http://blog.csdn.net/stpeace/article/details/42371079 利用openssl来计算sha1, sha224, sha256, sha384, s ...
最新文章
- php header setcookie,php中header头设置Cookie与内置setCookie的区别,和js对cookie操作
- 两代“狗”开发者首次解答30多个问题,一定有你想了解的!(附论文下载)
- BCB中获得RichEdit 默认行间距
- 安装 ArcGISAPI31forSilverlight an i/o error occured while installing a file错误解决
- linux 逻辑运算符and,布尔逻辑运算符
- springboot---集成mybits方法
- python mysql 2002_python MySQLdb连接mysql失败 2002, Can't connect to loca
- 1英寸大底手机来了 是索尼的营销噱头吗?
- 数字电路技术可能出现的简答题_2013年9月份考试数字电子技术第二次作业
- ceph搭建_如何一键搭建并管理Filecoin集群节点 | Gamma OS新功能上线
- [Machine Learning Algorithm] 决策树与迭代决策树(GBDT)
- github进不去_app.gitbook.com进不去,一直卡着怎么回事
- IDEA常用快捷键汇总
- 数据结构题及c语言版 答案,数据结构(C语言版)1800道题及答案[完整版]
- 大白话理解可达性分析算法
- 定投的收益率怎么计算
- Apple开发账号添加团队成员
- Pixel3 支持中国电信2G语音、4G网络、VOLTE
- adb命令重置_ADB命令手册大全
- java设置excel密码
热门文章
- windows下实现自己的第一个python脚本文件并.exe运行
- PIX525故障一例,求解
- 使用WinIO库实现保护模式下的IO和内存读写
- 结合 category 工作原理分析 OC2.0 中的 runtime
- Frequent Pattern 挖掘之二(FP Growth算法)(转)
- linux ssh密钥登录配置
- 参加 CSDN 2009 英雄大会有感(一)
- C语言中的“”和“”
- Ubuntu中安装、生成、导入、导出、Python3虚拟环境
- python 流式计算框架_流式计算的三种框架:Storm、Spark和Flink