- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Runtime.InteropServices;
- //class NT88API
- //{
- ////查找加密锁
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTFindFirst(string NTCode);
- ////查询硬件ID
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTGetHardwareID(StringBuilder hardwareID);
- ////登录加密锁
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTLogin(string NTpassword);
- ////存储区数据读取
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTRead(int address, int Length, byte[] pData);
- ////存储区数据写入
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTWrite(int address, int Length, byte[] pData);
- ////3DES解密
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NT3DESCBCDecrypt(byte[] vi, byte[] pDataBuffer, int Length);
- ////3DES加密
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NT3DESCBCEncrypt(byte[] vi, byte[] pDataBuffer, int Length);
- ////验证许可证
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTCheckLicense(int licenseCode);
- ////登出加密锁
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
- // public static extern int NTLogout();
- // #region 管理员API
- ////验证管理员密码
- // [DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- // public static extern int NTCheckSuperPin(string superPin);
- // #endregion
- //}
- class NT88API
- {
- #region管理员用法//查找所有加密锁,只有找到加密锁才能其他操作,NTFindAll必须第一个执行[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTFindAll(int[] NTHandle,int[] nKeyNum);
- /// <summary>
- /// 获取加密锁硬件属性
- /// </summary>
- /// <param name="NTHandle">加密锁handle</param>
- /// <param name="keyMode">加密锁型号</param>
- /// <param name="keyVersion">硬件版本</param>
- /// <param name="e2size">存储区大小</param>
- /// <param name="ramSize">内存区大小</param>
- /// <param name="prouctionTime">生产日期</param>
- /// <returns></returns>[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTGetDevCaps(intNTHandle,int[] keyMode,int[] keyVersion,int[] e2size,int[] ramSize,byte[] prouctionTime);
- //获取硬件序列号[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTGetHarddwareID(intNTHandle,string hardwareID);
- //检测管理密码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTCheckSuperPin(intNTHandle,string superin);
- //修改加密锁管理密码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTSetSuperPin(intNTHandle,string newSPin);
- //修改加密锁登录密码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTSetUserPin(intNTHandle,stringsuperin,string seed, StringBuilder userPin);
- //修改加密锁识别码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTSetAppName(int NTHandle, StringBuilder NTCode);
- //获得加密锁识别码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTGetAppName(int NTHandle, StringBuilder NTCode);
- //读取存储区数据[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTRead(intNTHandle,intaddress,intlength,byte[] pData);
- //读写存储区数据[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTWrite(intNTHandle,intaddress,intlength,byte[] pData);
- //获取许可证标识及验证码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTGetLicenseSettings(intNTHandle,byte[] licenseOption,int[] licenseCode,int licOptionNumber);
- //设置许可证标识,同时计算出验证码[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTGenLicenseCodes(intNTHandle,byte[] licenseOption,int[] licenseCode,int licOptionNumber);
- //验证许可证,输入相应额验证码进行验证[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTCheckLicense(intNTHandle,int licenseCode);
- //3DES加密[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNT3DESCBCEncrypt(intNTHandle,byte[] iv,byte[] pDataBuffer,int length);
- //3DES设置[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTSet3DESKey(intNTHandle,byte[] key);
- //3DES解密[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNT3DESCBCDecrypt(intNTHandle,byte[] iv,byte[] pDataBuffer,int length);
- //查询硬件ID[DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTGetHardwareID(int NTHandle, StringBuilder hardwareID);
- #endregion
- /*****************************************/
- #region应用层//查找加密锁[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTFindFirst(string NTCode);
- //查询硬件ID[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern int NTGetHardwareID(StringBuilder hardwareID);
- //登录加密锁[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTLogin(string NTpassword);
- //存储区数据读取[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTRead(intaddress,intLength,byte[] pData);
- //存储区数据写入[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTWrite(intaddress,intLength,byte[] pData);
- //3DES解密[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNT3DESCBCDecrypt(byte[] vi,byte[] pDataBuffer,int Length);
- //3DES加密[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNT3DESCBCEncrypt(byte[] vi,byte[] pDataBuffer,int Length);
- //验证许可证[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
- public static extern intNTCheckLicense(int licenseCode);
- //登出加密锁[DllImport("NT88.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
- public static extern int NTLogout();
- #endregion
- }
来源: