CryptProtectData (crypt32)
Last changed: ed@sharplogic.com-71.121.130.50

.
Summary
The CryptProtectData function performs encryption on the data in a DATA_BLOB structure. Typically, only a user with the same logon credential as the encrypter can decrypt the data. In addition, the encryption and decryption usually must be done on the same computer.

C# Signature:

[
DllImport("Crypt32.dll",
SetLastError=true,
CharSet=System.Runtime.InteropServices.CharSet.Auto)
]
private static extern bool CryptProtectData(
    ref DATA_BLOB pDataIn,
    String szDataDescr,
    ref DATA_BLOB pOptionalEntropy,
    IntPtr pvReserved,
    ref CRYPTPROTECT_PROMPTSTRUCT pPromptStruct,
    CryptProtectFlags dwFlags,
    ref DATA_BLOB pDataOut
);

VB .NET Signature:

Declare Function CryptProtectData Lib "crypt32.dll" (TODO) As TODO

User-Defined Types:

DATA_BLOB

CRYPTPROTECT_PROMPTSTRUCT

CryptProtectFlags

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

How To Create a DPAPI Library: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secmod/html/secmod21.asp

Alternative Managed API:

Do you know one? Please contribute it!

Documentation