文档详情

TrueCrypt原理与系统开发.doc

发布:2019-03-28约9.71千字共10页下载文档
文本预览下载声明
TrueCrypt原理与系统开发 /Study/Topic/776378 1、TrueCrypt Format ?一、概述 ????? TrueCrypt是唯一的一款支持Windows Vista/XP/2000/Linux开源的虚拟加密磁盘软件,能够创建和设置加密的虚拟磁盘镜像,虚拟磁盘可以与其它磁盘一样正常访问,内部所有文件 都会自动加密,需要通过密码来进行访问,加密和解密都是实时的。 ????? TrueCrypt主要分为两部分;一部分是TrueCrypt Format,用来创建加密卷,另外一部分是TrueCrypt Mount,用来加载和卸载虚拟磁盘到分区等。 第一部分、TrueCrypt Format创建加密卷 ????? 按照TrueCrypt Format创建加密卷的向导,一共会出现加密卷位置,加密算法、加密卷大小、加密卷密码、加密卷格式化等几个步骤,之后就会创建加密卷,创建完的加密卷就是制定的加密卷位置的那个文件了。 ????? 因此我们知道TrueCrypt的核心就是创建加密卷函数了,该函数的作用就是接受上述的加密卷位置等几个参数,完成创建加密卷的过程,在TrueCrypt里的原型是 int FormatVolume( char *volumePath, BOOL bDevice, unsigned __int64 size, unsigned __int64 hiddenVolHostSize, Password *password, int cipher, int pkcs5, BOOL quickFormat, BOOL sparseFileSwitch, int fileSystem, int clusterSize, HWND hwndDlg, BOOL hiddenVol, int *realClusterSize, BOOL uac ); ? ????? 下面我们来看下每个参数具体的含义 ?参数 ?类型 ?含义 ?示例 ?volumePath ?char * ?用户选择的加密卷文件 ?C:\\1.txt ?bDevice ?BOOL ?是否是一个分区卷 ?FALSE ?size ?unsigned __int64 ?加密卷大小(以byte为单位) ?10*1024*1024 ?hiddenVolHostSize ?unsigned __int64 ?隐藏加密卷大小(以byte为单位) ?0 ?password ?Password ?用户输入的密码 ?123456 ?cipher ?int ?默认加密的算法 ?1 ?pkcs5 ?int ?哈希算法 ?DEFAULT_HASH_ALGORITHM ?quickFormat ?BOOL ?是否是快速格式化 ?FALSE ?sparseFileSwitch ?BOOL ?? ?TRUE ?fileSystem ?int ?文件系统 ?FILESYS_FAT ?clusterSize ?int ?? ?0 ?hwndDlg ?HWND ?传入的窗口句柄 ?NULL ?hiddenVol ?BOOL ?是否是隐藏卷 ?FALSE ?realClusterSize ?int ?? ?512 ?uac ?BOOL ?? ?FALSE ????? 下面我们来看具体的实例 int Format( char* szFile, unsigned __int64 nsize, char* szPassword, HWND hwndDlg ) { char szFileName[TC_MAX_PATH+1]; /* The file selected by the user */ char szDiskFile[TC_MAX_PATH+1]; /* Fully qualified name derived from szFileName */ BOOL bDevice = FALSE; /* Is this a partition volume ? */ unsigned __int64 nVolumeSize = 0; /* The volume size, in bytes. */ unsigned __int64 nHiddenVolHostSize = 0; /* Size of the hidden volume host, in bytes */ Password volumePassword; /* Users password */ int nVolumeEA = 1; /* Default
显示全部
相似文档