RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/dllPas/dsrnew.pas
2025-01-08 11:55:07 +08:00

175 lines
5.9 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit dsrnew;
interface
function ft001(): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数Ini:
//目的:初步检查是否存在用户锁,如果有存在,提示用户插入用户锁。在程序初始化时,一定要使用这段代码
function ft002(): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数CheckKey
//目的:用狗中特定的算法验证当前的加密狗是否为授权的正确狗
//返回结果:要进行设置的值
function ft003(a: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数SetValue
//目的:用来对变量进行值的设置
//参数a要进行设置的值
//返回结果:要进行设置的值
//例:对于原来如 x1 = x2; 的赋值方式,可改用 x1 = ft003(x2)的方式
function ft004(var s1, s2: PAnsiChar; len: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数CompareString
//目的:用来对两个字符串进行比较
//参数s1要比较的两个字符串之一
//参数s2要比较的两个字符串之一
//参数len要比较的长度
//返回结果如果为0两个字符串相等如果为正数s1>s2,如果为负数,s1<s2
function ft005(var s1, s2: PAnsiChar; len: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数CompareStringNoCase
//目的:用来对两个字符串进行比较(忽略大小写)
//参数s1要比较的两个字符串之一
//参数s2要比较的两个字符串之一
//参数len要比较的长度
//返回结果如果为0两个字符串相等如果为正数s1>s2,如果为负数,s1<s2
function ft006(var s1, s2: PAnsiChar): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数Strcat
//目的:用来对两个字符串进行连接
//参数s1要连接的两个字符串之一
//参数s2要连接的两个字符串之一
//返回结果:返回目的字符串的长度, s1 为连接后的字符串
//相当于 s1 = s1 + s2, s2加在s1的后面 返回。
function ft007(sd, s: PAnsiChar): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数Strcpy
//目的:对字符串进行复制
//参数sd目的字符串
//参数s:源字符串
//返回结果:返回目的字符串的长度
//相当于 sd = s
function ft008(p1, p2: Integer; exp: Char): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数:Compare
//目的:用来比较两个数的大小,相当于?a>b,a<b,a=b
//参数p1要比较的第一个数
//参数p2要比较的第二个数
//参数c是大于小于或等于即">","<","="
//返回结果:
//如果返回0表示表达式为假返回1表示表达式为真
//获取设置加密狗中的参数
//对加密狗的存储区进行操作时,耗时时间较长,应注意!!!!
//加密狗中存储位置说明
//允许使用的总空间160字节其中64字节存放数据库连接信息分别是
//标识 对应参数 允许存放的最大字符串长度
// 5 IP地址 15
// 6 用户名 15
// 7 用户口令 15
// 8 DataBase 15
// 9 标识 可用来进行特别标识,如本加密狗的信息,本机硬件信息等
// 0-4 自定义 共80字节空间每个数字表示1节(16字节),递增
// 注意空间不能溢出,否则引起未知错误;
// 0-4标识使用的是连续空间当0位置的长度超过15时
// 将覆盖1号位置的存储区域。
// 使用 0 可用空间 80 - 1
// 1 64 - 1
// 2 48 - 1
//........
function ft011(outstr: PAnsiChar; Ord: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数GetParm
//目的:获取加密狗指定位置的字符串
//参数outstr目的字符串
//参数Ord:标识加密狗特定地点的标志值0-9
//返回结果:返回目的字符串的长度
function ft012(instr: PAnsiChar; Ord: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
//输出函数SetParm
//目的:在加密狗的指定位置存放字符串
//参数instr需存放的字符串
//参数Ord:标识加密狗特定地点的标志值0-9
//返回结果:返回写入字符串的长度
//加解密函数
function ft021(inStr, outStr: PAnsiChar): Integer; stdcall; external 'FUTONGDLL.DLL';
//说明本函数单向加密字符串instr不能逆向解密
//目的获取输入字符串instr的单向加密字符串outstr
//参数instr需加密的字符串
//参数outStr:单向加密后的密文
//返回结果:返回密文的长度
function ft022(source, dest, key: PAnsiChar; flg: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
function ft023(source, dest, key: PAnsiChar; flg: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
//说明:均为字符串加解密函数,可加解密
//目的用指定的Key对输入字符串source进行置换dest为置换后的字符串
//参数source需置换的字符串源文
//参数dest:置换后后的字符串密文
//参数key置换采用的key,字符串
//参数flg: 为1时进行加密为0时进行解密
//返回结果:返回置换后字符串的长度
function PBDecode(Strin, StrOut: PAnsiChar; nInLen, nOutLen: Integer): Integer; stdcall; external 'FUTONG.DLL';
//为解密函数入口参数为Strin,需解密的字符串
// StrOut,解密后的字符串(要求预先分配空间)
// nInLen,为Strin的长度
// nOutLen,为解密后的长度
function PBEncode(Strin, StrOut: PAnsiChar; nInLen, nOutLen: Integer): Integer; stdcall; external 'FUTONG.DLL';
//跟上面的函数对应,实现加密功能
{
//function ulong SQlfunc(ref string OutStr,ref string InStr,UINT len,UINT ID) LIBRARY "Futong.dll"
//对应数据库扩展存储过程(实现加密功能)对应的解密函数
// OutStr要求预先分配空间
// len 为解密后内容长度
// ID 算法因子(和存储过程对应)
function checkfunc(handle: Integer; DogFlag: String): Integer; stdcall; external 'FUTONG.DLL';
//检查硬件狗函数
// handle为主窗口句柄
// DogFlag为从数据库中查询到的硬件狗信息
// DLL自动检查硬件狗和DogFlag的信息是否相符不符时将在3分钟左右自动重启计算机
function GetParm(flag: Integer; out len: Integer; outHex: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
//硬件狗中获取特定信息如IP地址数据库名称用户名、口令等
//自定义参数flag取值范围为0--4存储空间一共为20个字节为连续的地址空间
//也即参数0最大可用长度为20这时其他参数将覆盖这个区域
// 参数4最大可用长度为4
//DogFlag为字符串信息
function SetParm(flag, len: Integer; inHex: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
//flag=5IP,=6User,=7Pass,=8DB
//硬件狗中设置参数传入IP时须设置为 “C8A00164”等形式传入192.168.1.100
//自定义参数用法同上
function InfoFunc(order: Integer; info: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
//读取本机硬件信息,返回值为机器网卡个数
//考虑到某些可移动的网卡,要查询固定的网卡信息
//软件安装时要求移除可移动网卡
//order为第几块网卡从0开始
function GetHostIpAddr(DogParm, HostName, IPAddr: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
//获取硬件狗标识,本机IP地址仅参考因为机器有多个IP地址获取的只是其中之一
//以及机器名称
}
implementation
end.