`
xitong
  • 浏览: 6400931 次
文章分类
社区版块
存档分类
最新评论

加密狗的管理层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
 }

分享到:
评论

相关推荐

    C#实现加密狗

    在IT行业中,加密狗是一种硬件设备,常用于软件授权管理,它可以存储特定的密钥或数据,以验证用户是否合法地使用软件。本资源聚焦于使用C#编程语言与加密狗进行交互,包括如何向加密狗写入文件以及从加密狗读取信息...

    使用C#实现加密狗身份验证源代码

    在本主题中,我们将深入探讨如何使用C#编程语言来实现加密狗的身份验证功能。 首先,了解基础概念是必要的。C#是一种广泛使用的面向对象的编程语言,特别适合开发Windows应用程序和Web服务。在C#中实现加密狗身份...

    C# 读写加密狗 实例源码(硬件读写)

    此外,为了简化读写过程,开发者可能会编写一些辅助类或库,封装串口通信和加密解密的细节,提供更高级别的API供其他部分的代码使用。例如,可能有一个`CryptoDog`类,包含了连接、读写、断开连接等方法,使得代码...

    C#调用加密狗代码

    4. 发送和接收数据:编写C#代码以向加密狗发送请求,并接收其响应。这可能包括发送验证指令、读取存储在狗内的数据或执行特定操作。 5. 解析响应:根据加密狗返回的数据解析结果,以确认授权或执行其他操作。这可能...

    C# 加密狗,您绝对看不懂的代码,超经典。

    这个"超经典"的C#加密狗代码可能包含了一些高级的加密算法和反逆向工程的技巧,使得它看起来难以理解。 加密狗通常通过USB接口与计算机连接,并通过特定的驱动程序与软件进行通信。在C#中,我们可以使用System.IO....

    基于C#实现的U盘制作加密狗源码

    基于C#实现的U盘制作加密狗源码

    读写加密狗,加密狗数据写入和读取,C#

    它通常包含一个微处理器,用于存储和处理加密的代码,确保只有合法的软件才能访问加密狗内的数据。在本项目中,我们关注的是如何使用C#编程语言来实现对加密狗的读写操作。 首先,要进行读写操作,我们需要一个支持...

    加密狗C#源程序

    加密狗的源码,程序完整,可直接结合管家婆软件使用。

    读写加密狗源代码(c#)

    读写加密狗的源代码 内容详细、条理清晰 有需要的可以下来研究一下

    关于加密狗的数据读写操作(C#)!

    关于加密狗的数据读写操作(C#)! 使用加密狗加密数据!

    使用加密狗进行身份验证,加密狗验证失败怎么办,C#

    在C#编程中,我们可以通过API调用来与加密狗交互,实现身份验证。 在C#中,实现加密狗身份验证通常涉及以下几个步骤: 1. **安装驱动**:首先,你需要确保系统已经安装了加密狗的驱动程序。这通常由加密狗供应商...

    C#_Identity_天威-时钟型加密狗软件加密C#例子_

    重新打开调试程序才可以再次进入3、如果要ASP.net中调用,且使用的是C#无须任何DLL版,要提升权限,方法是在web.config加了一句配置管理员的代码 在&lt;identity impersonate=&quot;true&quot; userName=&quot;当前...

    U盘制作加密狗源码+使用例子.rar_.net_U盘制作加密锁_u盘加密狗制作_加密狗_软件狗代码

    此工具是可以用U盘当做加密狗。并且生成加密文件 以及使用的示例源码 C#

    C#加密狗程序逻辑说明文档

    接下来,我们需要在C#代码中实现加密和解密的逻辑。在程序启动时,它会与加密狗通信,请求私钥进行解密。这通常涉及到读取加密狗中的数据,然后使用相应的算法进行解密。例如,可以使用RSACryptoServiceProvider类来...

    nt88系列加密狗函数

    以下是对NT88系列加密狗API函数的详细讲解。 首先,了解加密狗的基本工作原理至关重要。加密狗插入计算机的USB端口后,通过驱动程序与操作系统交互,提供一个安全的平台来存储敏感信息,如密钥、许可证数据或定制的...

    CSharp-Get-USB-Evevt-Doc.rar_CSharp USB_doc_dongle_加密狗_加密狗c#

    这通常涉及到P/Invoke技术,即在C#代码中调用Windows API函数。一个关键的API函数是`SetupDiGetClassDevs`,它可以用于获取设备的设备信息集,然后使用`SetupDiEnumDeviceInterfaces`枚举设备接口。一旦设备被识别,...

    使用加密狗进行身份验证,加密狗验证失败怎么办,C#源码.zip

    这个过程可能涉及到低级的I/O操作,或者调用加密狗供应商提供的API。 4. **验证密钥**:将读取到的密钥与软件中预设的密钥进行比较。如果两者匹配,认证成功;不匹配,则认证失败。 5. **异常处理**:在验证过程中...

    使用加密狗进行身份验证,加密狗验证失败怎么办,C#源码.rar

    3. **检查代码**:排查C#代码中的错误,确保与加密狗交互的部分无误。例如,挑战值的生成、响应的验证逻辑等。 4. **软件兼容性**:确认加密狗与使用的操作系统版本、.NET Framework版本兼容。 5. **硬件故障**:...

    hid虚拟加密狗 加密锁源代码

    nox2加密狗的hid虚拟狗源代码,有详细的通讯加密解密分析和处理过程,用dsf框架

Global site tag (gtag.js) - Google Analytics