博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenSSL密码算法库: MD5示例小程序
阅读量:5818 次
发布时间:2019-06-18

本文共 1937 字,大约阅读时间需要 6 分钟。

OpenSSL  OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL 的密码算法库包含多种加密算法的实现,可单独应用。

OpenSSL 下载:

安装:

./config --prefix=/data/chenzhenjing/local

make (若编译不过,make clean后重试)

make install 

一个利用OpenSSL MD5算法的简单示例程序:功能:根据文本文件的地一个非空字符串进行hash

/* * ===================================================================================== * *       Filename:  SplitProduct.c * *    Description:   * *        Version:  1.0 *        Created:  04/03/2013 04:49:06 PM CST *       Revision:  none *       Compiler:   *                  gcc -std=c99 -I/data/chenzhenjing/local/include/openssl/ -c SplitProduct_md5.c *                  gcc -std=c99 -o  test_md5 SplitProduct_md5.o  /data/chenzhenjing/local/lib/libcrypto.a * *         Author:  Zhenjing Chen (zhenjing), zhenjing.chen@gmail.com *        Company:   * * ===================================================================================== */#define _GNU_SOURCE#include 
#include
#include
#include
#include
#include "openssl/md5.h"MD5_CTX md5_ctx;static int MD5mod(const char* str, int length, int mod){ char sign[16] = {
0}; MD5_Init(&md5_ctx); MD5_Update(&md5_ctx, str, length); MD5_Final(sign, &md5_ctx); int sum = 0; for (int i=0; i < 16; i ++) { sum += (sign[i]&0xff); } int offset = sum % mod; return offset;}int main(int argc, char** argv){ if( argc < 4){ fprintf(stderr, "%s num infile outfile\n", argv[0]); exit(-1); } int num = atoi(argv[1]) ; if( num <= 0){ fprintf(stderr, "ERROR: num error: %s\n", argv[1]); exit(-1); } FILE* in = fopen(argv[2], "r"); if( in == NULL){ perror("fopen"); fprintf(stderr, "ERROR: infile error: %s\n", argv[2]); exit(-1); } FILE** OUT = (FILE**)malloc(sizeof(FILE*) * num); for(int i=0; i

其他参考资料:

使用 OpenSSL API 进行安全编程:

转载地址:http://qggbx.baihongyu.com/

你可能感兴趣的文章
采用JXL包进行EXCEL数据写入操作
查看>>
一周总结
查看>>
将txt文件转化为json进行操作
查看>>
线性表4 - 数据结构和算法09
查看>>
C语言数据类型char
查看>>
Online Patching--EBS R12.2最大的改进
查看>>
Binary Search Tree Iterator leetcode
查看>>
Oracle性能优化--DBMS_PROFILER
查看>>
uva-317-找规律
查看>>
Event事件的兼容性(转)
查看>>
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
华为OJ 名字美丽度
查看>>
微信公众号与APP微信第三方登录账号打通
查看>>
onchange()事件的应用
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>