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
}
分享到:
相关推荐
该资源中包含C#现实向加密狗中写入文件和将加密狗中的信息读取出来
使用C#实现加密狗身份验证源代码使用C#实现加密狗身份验证源代码
C# 读写加密狗 实例源码(硬件读写)
加密狗的源码,程序完整,可直接结合管家婆软件使用。
读写加密狗的源代码 内容详细、条理清晰 有需要的可以下来研究一下
使用C#开发的读写加密狗程序,功能测试可用。
重新打开调试程序才可以再次进入3、如果要ASP.net中调用,且使用的是C#无须任何DLL版,要提升权限,方法是在web.config加了一句配置管理员的代码 在<identity impersonate="true" userName="当前...
在C#程序怎样用加密狗,这里有几个例子。
C# 加密狗,您绝对看不懂的代码,超经典。
C#围绕加密狗进行编程的实例源码,如何使用加密狗进行身份验证,代码内的加密狗读写类可以帮上忙,而且如果你需要,你可以将此类用到其它的C#项目中。
关于加密狗的数据读写操作(C#)! 使用加密狗加密数据!
NET,C#,加密,安全,加密狗,加密示例 部分源码示例,说明C#对代码进行加密的基本思路
使用加密狗进行身份验证,加密狗验证失败怎么办,C#源码.zip
关于nt88系列的一些api函数,叫你如何使用加密狗
飞天诚信加密狗工具rockeyARMTool,此外带有一个C#源码实例。
加密狗加密狗加密狗
通过选择合适的vc++程序代码进行文件加密开发,可用于各种形式,各种系统的文件加密
加密狗在VB中的源代码 加密狗在VB中的源代码
c# 读写加密狗 要加密的朋友们有福了 [DllImport("Win32dll.dll", CharSet = CharSet.Ansi)] public static unsafe extern uint DogRead(uint idogBytes, uint idogAddr, byte* pdogData); [DllImport("Win32dll....