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. java学习之二叉树的实现

    二叉树是一种数据结构,每个节点都有两个子节点. 二叉树的遍历有三种方式, 先序遍历是 根节点,左子树,右子树: 中序遍历是 左子树,根节点,右子树: 后序遍历是 左子树,右子树,根节点: java实现 ...

  2. poj 1080 zoj 1027(最长公共子序列变种)

    http://poj.org/problem?id=1080 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=27 /* zoj ...

  3. 写一方法计算实现任意个整数之和.在主调函数中调用该函数,实现任意个数之和。(使用params参数)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. BZOJ 2431: [HAOI2009]逆序对数列( dp )

    dp(i,j)表示1~i的全部排列中逆序对数为j的个数. 从1~i-1的全部排列中加入i, 那么可以产生的逆序对数为0~i-1, 所以 dp(i,j) = Σ dp(i-1,k) (j-i+1 ≤ k ...

  5. Android面试题整理(1)

    1.Activity的生命周期      onCreate(Bundle saveInstanceState):创建activity时调用.      onStart():activity可见时调用 ...

  6. POJ 3384 Feng Shui 凸包直径 + 半平面交

    G++一直没有过了 换成 C++果断A掉了...It's time to bet RP. 题意:给一个多边形,然后放进去两个圆,让两个圆的覆盖面积尽量最大,输出两个圆心的坐标. 思路:将多边形的边向里 ...

  7. Javascript 运动应用 02

                                                                         JS运动应用   多个物体同时运动 例子:多个Div,鼠标移入 ...

  8. Swift 版本历史记录(关注)

    http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter1/03_revision_history.ht ...

  9. C# 7.0

    C# 7.0 本文参考Roslyn项目中的Issue:#118. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性 ...

  10. Android ImageView(scaleType属性)图片按比例缩放

    <ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleTy ...