【问题标题】:Window C/C++ Crypto API Examples and tipsWindow C/C++ Crypto API 示例和提示
【发布时间】:2011-06-15 08:36:57
【问题描述】:

我问这个问题是因为我花了一天中最好的时间浏览 msdn 文档和其他不透明的资源,以获取有关如何开始使用 Windows C/C++ Crypto API 的简单明了的指南。

我希望看到一些示例代码、典型的包含路径、链接指南等,以及任何真正有用的东西。我知道这是一个不精确的问题,但我认为不精确的答案最好不要。

我会用我自己微薄的发现来开始工作......

【问题讨论】:

  • 您是指 Win2k 和 XP 中的经典 CryptoAPI,还是 Vista 和 Win7 中的 CNG(“下一代 CryptoAPI”)?两者不一样。
  • 嗯,我想我的意思是 CryptoAPI,但我是在 Windows 7 系统上编译的。
  • 用CNG会更好

标签: c++ c windows cryptoapi mscapi


【解决方案1】:
【解决方案2】:

代码项目中还有一个很长的例子"Encryption using the Win32 Crypto API"

【讨论】:

    【解决方案3】:

    msdn 文档在这里:http://msdn.microsoft.com/en-us/library/aa380252.aspx

    这是主要的包含文件:#include <wincrypt.h>

    加密位包含在Windows SDK 中,通常安装在%PROGRAMFILES(x86)%\Microsoft SDKs\Windows\SDKVERSION 中(例如C:\Program Files\Microsoft SDKs\Windows\v6.0A)。头文件一般在%WINDOWSSDK%\Include,相关库在%WINDOWSSDK%\Lib

    您必须明确链接到加密库。假设您在 Visual Studio 中,您可以通过右键单击 C++ 项目,选择属性,然后选择左侧树视图上的配置属性 -> 链接器来添加引用。然后您可以在右侧的输入字段中指定crypt32.lib

    或者,(假设您使用的是 msvc++)添加

    #pragma comment(lib, "crypt32.lib")
    

    到您的来源。

    【讨论】:

    • 我对这个答案进行了重大修改和扩展。请检查以确保您认为这些更改有用:)
    • 啊!谢谢,我从没想过使用#pragma 指令。
    • 我在我的 VC++2017 项目中使用了#include 和#include ,调用它们的 api 函数时出现错误“LNK2019”。添加行 #pragma comment(lib, "crypt32.lib") 解决了它!谢谢:D
    • 哇,谢谢,我想知道为什么这不是任何 MSDN 指南的一部分。
    猜你喜欢
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 2014-03-03
    • 2020-08-16
    • 2017-08-04
    相关资源
    最近更新 更多