⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 driverinterfacecypher.h

📁 文件驱动加密,功能强大,可产生加密分区,支持AES,MD2,MD4,MD5MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, SHA-1, SHA-224, SHA-256,
💻 H
字号:
// Description: 
// By Sarah Dean
// Email: sdean12@sdean12.org
// WWW:   http://www.FreeOTFE.org/
//
// -----------------------------------------------------------------------------
//


#ifndef _DriverInterfaceCypher_H
#define _DriverInterfaceCypher_H   1

#include "FreeOTFE4PDACypherAPI.h"
#include "FreeOTFEPlatform.h"


// =========================================================================
// Constants....

#define STR_FORMAT_FULL_CYPHER_TITLE  TEXT("%ls (%ls; %d/%d)")


// =========================================================================
// Structures...

typedef struct _MODULE_DETAILS_CYPHER {
    WCHAR* Filename;
    HINSTANCE Lib;

    PCypherDLLFnIdentifyDriver     FnIdentifyDriver;
    PCypherDLLFnIdentifySupported  FnIdentifySupported;
    PCypherDLLFnGetCypherDetails   FnGetCypherDetails;
    PCypherDLLFnEncrypt            FnEncrypt;
    PCypherDLLFnEncryptWithASCII   FnEncryptWithASCII;
    PCypherDLLFnDecrypt            FnDecrypt;
    PCypherDLLFnDecryptWithASCII   FnDecryptWithASCII;
} MODULE_DETAILS_CYPHER, *PMODULE_DETAILS_CYPHER;


// =========================================================================
// Functions...

BOOL driver_CypherLoadDLL(WCHAR* Filename, MODULE_DETAILS_CYPHER* DLLDetails);
void driver_CypherUnloadDLL(MODULE_DETAILS_CYPHER* DLLDetails);
BOOL driver_CypherGetDriverDetails(WCHAR* CypherFilename, CYPHER_DRIVER_INFO* driverInfo);
void driver_CypherFreeDriverDetails(CYPHER_DRIVER_INFO* driverInfo);
BOOL driver_CypherGetImplDetails(
    WCHAR* CypherFilename, 
    GUID* CypherImpl, 
    CYPHER* ImplDetails
);

BOOL driver_CypherEncryptData(
    WCHAR* CypherDriverFilename,
    GUID CypherGUID,
    unsigned int keySize, // In *bits*
    FREEOTFEBYTE* Key,
    unsigned int IVSize, // In *bits*
    FREEOTFEBYTE* IV,
    unsigned int blockSize, // In bytes
    FREEOTFEBYTE* plaintextBuffer,
    FREEOTFEBYTE* encryptedBuffer
);

BOOL driver_CypherDecryptData(
    WCHAR* CypherDriverFilename,
    GUID CypherGUID,
    unsigned int keySize, // In *bits*
    FREEOTFEBYTE* Key,
    unsigned int IVSize, // In *bits*
    FREEOTFEBYTE* IV,
    unsigned int blockSize, // In bytes
    FREEOTFEBYTE* encryptedBuffer,
    FREEOTFEBYTE* plaintextBuffer
);

void driver_CypherPrettyprintAlgMode(
    CYPHER_MODE mode,
    WCHAR* buffer
);
void driver_CypherPrettyprintAlgTitle(
    CYPHER* cypherInfo, 
    WCHAR* buffer,
    int bufferSize  // In bytes
);

// =========================================================================
// =========================================================================

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -