2011-01-25 5 views
21

Я задаю этот вопрос, потому что я потратил большую часть дня на траление через документы msdn и другие непрозрачные источники для простых простых инструкций о том, как начать работу с Windows C/C++ Crypto API.Окно C/C++ Crypto API Примеры и советы

Что я хотел бы увидеть, это пример кода, типичный путь включает в себя пути, ссылки на руководства и т. Д., Что-нибудь полезное на самом деле. Я знаю, что это неточный вопрос, но я считаю, что неточные ответы лучше вообще.

я получить мяч прокатки со своими собственными скудными результатами ...

+2

Вы имеете в виду классический CryptoAPI, как в Win2k и XP, или CNG («CryptoAPI Next Generation»), как в Vista и Win7? Эти два варианта не совпадают. – dajames

+1

Хм, я полагаю, я имею в виду CryptoAPI, но я компилирую систему Windows 7. –

ответ

21

Вот куча примеров я нашел ....

MSDN есть эти примеры, разбросанные вокруг docs

Это website обеспечивает хороший обзор концепций наряду с примерами кросс-платформенных

+0

Вы можете просто объединить два ответа. –

+0

Как можно объединить ответы? –

11

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++, выбрав свойства и выбрав Configuration Properties -> Linker в дереве слева. Затем вы можете указать crypt32.lib в поле ввода справа.

С другой стороны, (при условии, что вы используете MSVC++) добавить

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

к источнику.

+1

Я значительно пересмотрел и расширил этот ответ. Пожалуйста, проверьте, чтобы вы считали, что изменения полезны :) –

+0

А, спасибо, я бы никогда не подумал об использовании директивы #pragma. –

Смежные вопросы