加密狗的管理層API(C#代碼)


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 int NTFindAll(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 int NTGetDevCaps(int NTHandle, int[] keyMode, int[] keyVersion, int[] e2size, int[] ramSize, byte[] prouctionTime);
 
     //獲取硬件序列號
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTGetHarddwareID(int NTHandle, string hardwareID);
 
     //檢測管理密碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTCheckSuperPin(int NTHandle, string superin);
 
     //修改加密鎖管理密碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTSetSuperPin(int NTHandle, string newSPin);
 
 
     //修改加密鎖登錄密碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTSetUserPin(int NTHandle, string superin, string seed, StringBuilder userPin);
 
     //修改加密鎖識別碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTSetAppName(int NTHandle, StringBuilder NTCode);
 
     //獲得加密鎖識別碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTGetAppName(int NTHandle, StringBuilder NTCode);
 
     //讀取存儲區數據
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTRead(int NTHandle, int address, int length, byte[] pData);
 
     //讀寫存儲區數據
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTWrite(int NTHandle, int address, int length, byte[] pData);
 
     //獲取許可證標識及驗證碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTGetLicenseSettings(int NTHandle, byte[] licenseOption, int[] licenseCode, int licOptionNumber);
 
     //設置許可證標識,同時計算出驗證碼
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTGenLicenseCodes(int NTHandle, byte[] licenseOption, int[] licenseCode, int licOptionNumber);
 
     //驗證許可證,輸入相應額驗證碼進行驗證
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTCheckLicense(int NTHandle, int licenseCode);
 
     //3DES加密
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NT3DESCBCEncrypt(int NTHandle, byte[] iv, byte[] pDataBuffer, int length);
 
     //3DES設置
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTSet3DESKey(int NTHandle, byte[] key);
 
     //3DES解密
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NT3DESCBCDecrypt(int NTHandle, byte[] iv, byte[] pDataBuffer, int length);
 
 
     //查詢硬件ID
     [DllImport("NT88Mgr.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
     public static extern int NTGetHardwareID(int NTHandle, StringBuilder hardwareID);
 
 
     #endregion
 
 
     /*****************************************/
 
 
     #region 應用層
     //查找加密鎖
     [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();
 
 
     #endregion
 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM