OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。

官网:http://www.openssl.org/
OpenSSL for Windows:http://www.slproweb.com/products/Win32OpenSSL.html

在这里,我使用已编译好的OpenSSL库(上面第二个网址下载),安装过程如下:

安装过程中,会提示将DLL拷贝到系统目录,还是OpenSSL目录下的bin文件夹,如下图所示:

下面进行测试使用OpenSSL:
1.打开VS2008,新建一个Win32控制台应用程序,勾选"空项目";
2.菜单→"项目"→"添加新项"→"C++ 文件(.cpp)",名称为"main";
3.输入以下测试代码:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
  #include <string> 
#include <iostream> 
#include "openssl/md5.h" 
 
int main() 

    std::string str = "1234"; 
    std::string strMd5 = ""; 
    unsigned char md[MD5_DIGEST_LENGTH]; 
    char tmp[3] = {0}; 
 
    MD5((const unsigned char*)str.c_str(), str.size(), md); 
    for (int i = 0; i < MD5_DIGEST_LENGTH; i++) 
    { 
        sprintf_s(tmp, "%02X", md[i]); 
        strMd5.append(tmp); 
    } 
 
    std::cout<<strMd5<<std::endl; 
    return 0; 

4.菜单→"项目"→"属性",根据不同的运行库,进行设置:

附加包含目录:"D:\OpenSSL-Win32\include"
附加库目录:"D:\OpenSSL-Win32\lib\VC"
运行时库 附加依赖项
多线程(/MT) libeay32MT.lib ssleay32MT.lib
多线程调试(/MTd) libeay32MTd.lib ssleay32MTd.lib
多线程 DLL (/MD) libeay32MDd.lib ssleay32MDd.lib
多线程调试 DLL (/MDd) libeay32MD.lib ssleay32MD.lib

5.若是要静态链接,则将附加库目录设置为:"D:\OpenSSL-Win32\lib\VC\static",附加依赖项再添加如下:
User32.lib
Advapi32.lib
Gdi32.lib
Ws2_32.lib
Crypt32.lib
以上根据使用到OpenSSL的具体功能,而进行添加。
6.运行如下图所示:

http://blog.csdn.net/akof1314/article/details/7241829

VC2008下使用OpenSSL 1.0.0g(免编译)的更多相关文章

  1. centos下从源码安装openssl 1.0.1g

    cd /usr/srcwget https://www.openssl.org/source/openssl-1.0.1g.tar.gz -O openssl-1.0.1g.tar.gz tar -z ...

  2. Windows10下安装OpenSSL

    Windows10下安装的方法 安装环境:Windows10专业版+VS2013 工具:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi,下载地址:http: ...

  3. win7 下配置Openssl

    最近刚刚装了openssl,遇到了很多问题,于是记录了下来: 我的PC环境是:系统win7,32位,Microsoft Visual Studio 2010: 下面开始安装: 1.安装前的准备:首先下 ...

  4. 详解Linux(centos7)下安装OpenSSL安装图文方法

    OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境:  操作系统:CentO ...

  5. 使用c语言实现在linux下的openssl客户端和服务器端编程

    使用c语言实现在linux下的openssl客户端和服务器端编程 摘自:https://www.cnblogs.com/etangyushan/p/3679457.html 前几天组长让我实现一个使用 ...

  6. IDHTTP-HTTPS通讯方法(Indy10.2.3之前仅支持OpenSSL的0.9.8以前的版本)

    加载https的站点页面内容的时候记得在窗体上加上“IdSSLIOHandlerSocketOpenSSL1” 以及idhttp里面IOHandler为“IdSSLIOHandlerSocketOpe ...

  7. [转]详解Linux(centos7)下安装OpenSSL安装图文方法

    OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境:  操作系统:CentO ...

  8. python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz RHEL 8 install Python 3 or Python 2 using yum 编译安装 python3.7.4 . OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0

    #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz Modules/Setup.dist https://askubuntu ...

  9. OpenSSL 1.0.2e 3 Dec 2015

    目录: 1,交叉编译openssl 2,win32  vc9 编译 openssl 1,交叉编译openssl [原]交叉编译openssl不修改Makefile的方法 http://blog.chi ...

随机推荐

  1. VC++中的头文件包含问题

    在一些大的工程中,可能会包含几十个基础类,免不了之间会互相引用(不满足继承关系,而是组合关系).也就是需要互相声明.好了,这时候会带来一些混乱.如果处理得不好,会搞得一团糟,根据我的经验,简单谈谈自已 ...

  2. CUDA samples 2.3节 用CUDA示例来创建CUDA项目

    2.3.1. Creating CUDA Projects for Windows 略 2.3.2  Creating CUDA Projects for Linux 默认的samples的安装路径 ...

  3. uva - The Lottery(容斥,好题)

    10325 - The Lottery The Sports Association of Bangladesh is in great problem with their latest lotte ...

  4. LibSVM笔记系列(3)——初学移植libsvm的C/C++版本

    在LibSVM笔记系列(1)中已经提到在g++环境中编译LibSVM只需要一个make命令那样简单. 本文将介绍 (1)LibSVM的编译文件结构 (2)svm.h中重要数据结构及函数分析 (3)sv ...

  5. Codeforces Round #198 (Div. 2) B. Maximal Area Quadrilateral

    B. Maximal Area Quadrilateral time limit per test 1 second memory limit per test 256 megabytes input ...

  6. POJ 1562(L - 暴力求解、DFS)

    油田问题(L - 暴力求解.DFS) Description The GeoSurvComp geologic survey company is responsible for detecting ...

  7. pyfits过滤数据更新文件。

    import pyfits as pf import numpy as np import matplotlib.pyplot as plt hdulist = pf.open("LE_ev ...

  8. 乐观锁&悲观锁

    悲观&乐观,只是对数据加锁的时机与粒度. 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这 ...

  9. (Problem 5)Smallest multiple

    2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any rema ...

  10. Search a 2D Matrix【python】

    class Solution: # @param matrix, a list of lists of integers # @param target, an integer # @return a ...