centos下Linux C语言MD5的使用

在Linux C变成中用到MD5加密会使用到openssl库,下面给出的是一个简单的小Demo:

#include <stdio.h>
#include <openssl/md5.h>
#include <string.h>

#define     MD5_LENGTH           16
#define     MAX                  40

int  main(void) {
    MD5_CTX  ctx;
    unsigned char  data[MAX];
    unsigned char  md[MD5_LENGTH];
    char buf[MAX] = "";
    char tmp[3] = "";

    fprintf(stderr, "Input string:");
    fgets(data, MAX, stdin);
    data[strlen(data)-1] = ‘\0‘;

    MD5_Init(&ctx);
    MD5_Update(&ctx, data, strlen(data));
    MD5_Final(md, &ctx);

    int  i = 0;

    for (; i < MD5_LENGTH; ++i) {
        sprintf(tmp, "%02X", md[i]);
        strcat(buf, tmp);
    }

    fprintf(stderr, "%s\n", buf);

    return  0;
}

这里如果在进行编译时出现 Error: openssl/MD5.h No Such File or Directory说明目前没有安装openssl的开发包,那需要安装一下该安装包:

使用yum install openssl-devel 即可完成安装。

如果在编译时出现undefined reference to `MD5_Init‘是因为在编译时需要链接openssl库的内容,在编译时加上-lssl就OK了。

centos下Linux C语言MD5的使用,布布扣,bubuko.com

时间: 2024-10-11 14:14:01

centos下Linux C语言MD5的使用的相关文章

CentOS下安装go语言编译环境

1.下载Go语言的安装包 这里给大家一个百度的分享连接http://pan.baidu.com/s/1qY3xPaG下载到CentOS的系统之中 $ tar -xzf go1.5.2.linux-xxx.tar.gz -C /usr/local 2.用以上命令解压到 /usr/local目录之中 3.在/etc/profile中添加系统范围的PATH环境变量. $ vi /etc/profile 加入这段代码export PATH=$PATH:/usr/local/go/bin  保存并退出 e

centOS 下 Linux 中的 JDK 配置

一.下载jdk 放在 /usr/local/src/jdk下解压 命令: 解压后: 二.用 vim 进行编辑   如果是最小安装的Linux需要安装 vim  命令(yum install vim*) 命令:vim /etc/profile 三.刷新配置文件 命令:source /etc/profile 四.测试jdk是否配置成功 命令: java -version 命令: javac 五.安装完成 原文地址:http://blog.51cto.com/10476803/2068652

Linux CentOS下安装、配置mysql数据库

如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数

在win7下Linux (centos)的安装双系统

在win7下Linux (centos)的安装双系统 装法有两种.(太多了,第二不写了 ) 一.U盘安装 整个过程过程可分为三步. 1.从最后一个硬盘格式化一些空间出来,我的是格式100G, 方法: 在win7下右键点击"我的电脑",进入"管理",再进入"磁盘管理",找到F盘(我最后一个是F盘),点击右键,删除卷,在创建新卷:"30G",(格式为NTFS)(因为我的F盘130G),所以现在剩下100G是空的,别急,空的100G

在Linux下运行C语言程序

市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核.桌面环境和各种常用的必备工具,国内使用较多的是Ubuntu(乌班图).CentOS.Deepin(深度Linux).本教程以Deepin为例来讲述如何编译C程序. Gedit Gedit是一个简单实用的文本编辑器,拥有漂亮的界面,支持语法高亮,比 Vim 更易上手.本教程将Gedit作为C代码编辑器. Gedit的安装: sudo apt-add-repository ppa:ubuntu-on-rails/ppa

CentOS下安装配置LAMP(Linux+Apache+MySQL+PHP)

关于LAMP的各种知识,今天主要是介绍一下在CentOS下安装,搭建一个Web服务器的过程.(本文是使用安装包安装) 一.简介 什么是LAMP     LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件.     LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael  Kunze在1990年最先把这些项目组合在一起创造了LAM

Linux centOS下搭建RTMP服务器的具体步骤

以下的所需的安装包,可直接在linux系统终端下载,也可从其他地方下载之后拷到对应目录下解压使用,遇到连接不到国外网站时可改变压缩包地址 1.安装依赖包: yum install glibc.i686 #yum –y update #yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-

Linux centos下让alias自定义永久生效(+常用的别名)

alias可以简化一些复杂的命令串,使一个单词或简化后的命令即可实现复杂(通常是带很多参数的长串)命令. 基本用法: alias 简化命令='实际的长串命令'    //实际长串命令通常为'原命令 -/选项参数' eg. alias ll='ls -a' 获取别名: alias        //即可查看当前设定的所有alias别名 取消别名: unalias 简化命令 eg. unalias ll            //取消ll的别名 永久生效: 直接使用alias命令定义的别名,重启后就

Centos 7.3下 Linux For SQL Server安装及配置介绍

Centos 7.3下Linux For SQL Server安装及配置介绍 说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境受到不了不同程度的关注:比如oracle主要应用到大型的商业比较多,比如银行:SQL Server主要在常见的互联网公司使用:mysql主要应用于小型的企业或者服务商使用:当然从费用上来说,Oracle是最贵的,也是最为稳