使用openssl实现md5加密
来源:互联网 发布:淘宝怎么宝贝发布不了 编辑:程序博客网 时间:2024/05/21 09:32
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
要使用openssl,首先安装openssl库
apt-get install openssl libssl-dev libssl-doc libcurl4-openssl-dev源代码如下:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<openssl/hmac.h>#include<openssl/md5.h>int output(char *p, unsigned char* pwd, int len) {int i;printf("%s", p);for (i = 0; i < len; i++) {printf("%x", pwd[i]);}printf("\n");return 0;}int main(int argc, char *argv[]) {if (argc < 2) {fprintf(stderr, "%s <original password><salt password><hash length>\n",argv[0]);return 1;}int i, hashLen;unsigned char *originalPwd;unsigned char *saltPwd;originalPwd = (unsigned char *) malloc(strlen(argv[1]) + 1); //argv[1]是初始密码saltPwd = (unsigned char *) malloc(strlen(argv[2]) + 1); //argv[2]是加盐:是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符strcpy(originalPwd, argv[1]);strcpy(saltPwd, argv[2]);hashLen = atoi(argv[3]);//设置加密密码的长度unsigned char encryptPwd[hashLen];printf("Before add salt into the original password:\n");MD5((unsigned char *) originalPwd, strlen(originalPwd), encryptPwd);//使用MD5算法对密码进行加密(不加盐),并输出加密前后密码output("Original Password = ", (unsigned char *) originalPwd,strlen(originalPwd));output("Encrypt Password = ", (unsigned char *) encryptPwd, hashLen);printf("\nAfter add salt into the original password:\n");memset(encryptPwd, 0, sizeof(encryptPwd));strcat(originalPwd, saltPwd);MD5((unsigned char *) originalPwd, strlen(originalPwd), encryptPwd);//使用MD5算法对密码进行加密(加盐),并输出加密前后密码output("Original Password = ", (unsigned char *) originalPwd,strlen(originalPwd));output("Encrypt Password = ", (unsigned char *) encryptPwd, hashLen);return 0;}
0 0
- 使用openssl实现md5加密
- 利用openssl实现MD5加密
- linux下md5加密(使用openssl库C实现)
- linux下md5加密(使用openssl库C实现)
- linux下md5加密(使用openssl库C实现)
- 【MD5】linux下md5加密(使用openssl库C实现)
- linux c使用openssl/md5.h加密
- Linux下使用openssl的MD5加密
- linux c md5加密 使用 openssl
- linux c md5加密 使用 openssl
- linux c md5加密 使用 openssl 本文介绍linux c使用openssl/md5.h加密(转)
- 使用MD5实现简单加密
- [Ubuntu]基于openssl的MD5加密C语言实现
- Linux下MD5加密(使用openssl库)
- 利用OpenSSL实现MD5加密函数(附带Ubuntu 12.04安装OpenSSL库的方法)
- 使用openssl库实现数据加密
- 使用openssl实现非对称加密
- 使用openssl MD5库
- Android开发之Animation 4种动画效果
- sql的while
- C# 连接SQL Server数据库的几种方式--server+data source等方式
- JavaScript的原生引用类型
- jquery制作折叠式菜单(Accordion)
- 使用openssl实现md5加密
- Jquery.datatables 学习笔记之综述
- 【C语言复习(六)】隐式类型转换相关分析
- Gson转Map
- .net常用的验证正则表达式
- 《Linux设备驱动开发详解》-- Linux 中断编程
- C/C++的64位整型输入输出
- 黑马程序员--编程基础II--
- 安装memcached