彗星取数据摘要模块易语言源码
系统结构:彗星取数据摘要_文本型,彗星取数据摘要_字节集,彗星取数据摘要_文件,Create,HashData,GetHash,Destroy,GetErrMsg,CryptAcquireContext,CryptCreateHash,CryptHashData,CryptGetHashSize,CryptGetHashParam,CryptDestroyHash,CryptReleaseContext,CloseHandle,CreateFile,ReadFile,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 彗星取数据摘要_文本型
| |
| |------ 彗星取数据摘要_字节集
| |
| |------ 彗星取数据摘要_文件
| |
| |
======Crypt
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ Create
| |
| |------ HashData
| |
| |------ GetHash
| |
| |------ Destroy
| |
| |------ GetErrMsg
| |
| |
======调用的Dll
| |
| |---[dll]------ CryptAcquireContext
| |
| |---[dll]------ CryptCreateHash
| |
| |---[dll]------ CryptHashData
| |
| |---[dll]------ CryptGetHashSize
| |
| |---[dll]------ CryptGetHashParam
| |
| |---[dll]------ CryptDestroyHash
| |
| |---[dll]------ CryptReleaseContext
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ CreateFile
| |
| |---[dll]------ ReadFile
调用的DLL命令:
.DLL命令 CryptAcquireContext, 整数型, "advapi32.dll", "CryptAcquireContextA", , 获取一个CSP(加密服务提供者)句柄,要进行加密解密操作的话,必须调用该函数。最后还要使用CryptReleaseContext 函数来释放CSP句柄。若成功,返回TRUE,否则返回FALSE,可调用GetLastError()来获取错误代码
.参数 PhProv, 整数型, 传址, 返回CSP句柄
.参数 PszContainer, 整数型, , 关键字容器的名字。当 dwFlags 被设为 CRYPT_VERIFYCONTEXT 时, pszContainer 必须被设为 0。一般 pszContainer 为NULL时,一个缺省钥匙容器名字被使用
.参数 pszProvider, 文本型, , 指定的CSP提供者的名字,是以0结尾的字符串,若为NULL,则使用缺省CSP
.参数 dwProvType, 整数型, , 指定CSP提供者的类型,MD5取PROV_RSA_FULL
.参数 dwFlags, 整数型, , 标志,多设置为0,CRYPT_VERIFYCONTEXT or CRYPT_MACHINE_KEYSET
.DLL命令 CryptCreateHash, 整数型, "advapi32.dll", , , 创建哈希(加密)句柄
.参数 hProv, 整数型, , CSP句柄,可以由函数CryptAcquireContext获取
.参数 Algid, 整数型, , 选择hash算法,比如CALG_MD5等
.参数 hKey, 整数型, , HMAC 和MAC算法时有用
.参数 dwFlags, 整数型, , 保留,传入0即可
.参数 phHash, 整数型, 传址, 返回哈希句柄
.DLL命令 CryptHashData, 整数型, "advapi32.dll", , , 载入哈希数据
.参数 hHash, 整数型, , 哈希句柄
.参数 pbData, 字节集, 传址, 数据地址
.参数 dwDataLen, 整数型, , 数据长度
.参数 dwFlags, 整数型, , 标志,设为0
.DLL命令 CryptGetHashSize, 整数型, "advapi32.dll", "CryptGetHashParam", , 获得哈希值(二进制)
.参数 hHash, 整数型, , 哈希句柄
.参数 dwType, 整数型, , 获取类型
.参数 pbBuff, 整数型, 传址, 缓存地址
.参数 dwBuffLen, 整数型, 传址, 缓存长度
.参数 dwFlags, 整数型, , 标志,设为0
.DLL命令 CryptGetHashParam, 整数型, "advapi32.dll", , , 获得哈希值(二进制)
.参数 hHash, 整数型, , 哈希句柄
.参数 dwType, 整数型, , 获取类型
.参数 pbBuff, 字节集, 传址, 缓存地址
.参数 dwBuffLen, 整数型, 传址, 缓存长度
.参数 dwFlags, 整数型, , 标志,设为0
.DLL命令 CryptDestroyHash, 逻辑型, "advapi32.dll", , , 释放哈希句柄
.参数 hHash, 整数型, , 哈希句柄
.DLL命令 CryptReleaseContext, 逻辑型, "advapi32.dll", , , 释放CSP
.参数 hProv, 整数型, , CSP句柄
.参数 dwFlags, 整数型, , 标志,设为0
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 hObject, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 CreateFile, 整数型, "kernel32", "CreateFileA", , 这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台 如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS ; 或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS
.参数 lpFileName, 文本型, , 要打开的文件的名字
.参数 dwDesiredAccess, 整数型, , 如果为 GENERIC_READ 表示允许对设备进行读访问;如果为 GENERIC_WRITE 表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息
.参数 dwShareMode, 整数型, , 零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允许对文件进行共享访问
.参数 lpSecurityAttributes, 整数型, , SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的security特性(如果操作系统支持的话)
.参数 dwCreationDisposition, 整数型, , 下述常数之一:;CREATE_NEW:创建文件;如文件存在则会出错;CREATE_ALWAYS:创建文件,会改写前一个文件;OPEN_EXISTING:文件必须已经存在。由设备提出要求;OPEN_ALWAYS:如文件不存在则创建它;TRUNCATE_EXISTING:讲现有文件缩短为零长度
.参数 dwFlagsAndAttributes, 整数型, , 一个或多个下述常数;FILE_ATTRIBUTE_ARCHIVE:标记归档属性;FILE_ATTRIBUTE_COMPRESSED:将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式;FILE_ATTRIBUTE_NORMAL:默认属性;FILE_ATTRIBUTE_HIDDEN:隐藏文件或目录;FILE_ATTRIBUTE_READONLY:文件为只读;FILE_ATTRIBUTE_SYSTEM:文件为系统文件;FILE_FLAG_WRITE_THROUGH:操作系统不得推迟对文件的写操作;FILE_FLAG_OVERLAPPED:允许对文件进行重叠操作;FILE_FLAG_NO_BUFFERING:禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块;FILE_FLAG_RANDOM_ACCESS:针对随机访问对文件缓冲进行优化;FILE_FLAG_SEQUENTIAL_SCAN:针对连续访问对文件缓冲进行优化;FILE_FLAG_DELETE_ON_CLOSE:关闭了上一次打开的句柄后,将文件删除。特别适合临时文件也可在Windows NT下组合使用下述常数标记:SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY
.参数 hTemplateFile, 整数型, , 如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性;
.DLL命令 ReadFile, 整数型, "kernel32", "ReadFile", , 从文件中读出数据。与lread函数相比,这个函数要明显灵活的多。该函数能够操作通信设备、管道、套接字以及邮槽 非零表示成功,零表示失败。会设置GetLastError。如启动的是一次异步读操作,则函数会返回零值,并将ERROR_IO_PENDING设置成GetLastError的结果。如结果不是零值,但读入的字节数小于nNumberOfBytesToRead参数指定的值,表明早已抵达了文件的结尾
.参数 hFile, 整数型, , 文件的句柄
.参数 lpBuffer, 字节集, , 用于保存读入数据的一个缓冲区
.参数 nNumberOfBytesToRead, 整数型, , 要读入的字符数
.参数 lpNumberOfBytesRead, 整数型, 传址, 从文件中实际读入的字符数
.参数 lpOverlapped, 整数型, , OVERLAPPED,如文件打开时指定了FILE_FLAG_OVERLAPPED,那么必须用这个参数引用一个特殊的结构。那个结构定义了一次异步读取操作。否则,应将这个参数设为NULL(将函数声明成ByVal As 并传递零值);
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...