- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
加密狗授权方式介绍
加密狗授权方式介绍
每只加密狗都有一个固定的序列号,并且一般是无法修改的。软件运行时读取加密狗的
序列号进行判断,序列号通过验证后才能正常使用软件。
选购一套加密狗开发套件
我选购了SaftNet 的USB 软件狗,入手后查阅开发资料(不同品牌的加密狗开发资料一般
都不同),整理需要用到的开发资源如下:
* SoftDogSetup.dll:提供加密狗驱动相关操作的DLL
需要用到以下方法:
(1)获取狗驱动程序安装信息接口函数GetDogDriverInfo,定义如下:
int PASCAL GetDogDriverInfo();
参数:无
返回值:
0 没有安装驱动程序
1 驱动版本相同(并口和usb)
2 USB 驱动版本相同
3 并口驱动版本相同
4 已安装旧版本驱动 (并口和usb)
5 已安装旧版本USB 驱动
6 已安装旧版本并口驱动
7 已安装新版本驱动 (并口和usb)
8 已安装新版本USB 驱动
9 已安装新版本并口驱动
3008 没有管理员权限
(2)驱动安装的函数接口InstDriver,定义如下:
Int PASCAL InstDriver(int iFlag);
参数:
iFlag = 1 只安装USB 狗驱动
iFlag = 2 只安装并口狗驱动
iFlag = 3 安装并口狗驱动和USB 狗驱动
返回值:
如果运行成功则返回0,否则返回错误值。
(3)驱动卸载的函数接口UninstallDriver,定义如下:
int PASCAL UninstallDriver(int iFlag);
参数:
iFlag = 1 只卸载USB 狗驱动
iFlag = 2 只卸载并口狗驱动
iFlag = 3 卸载并口狗驱动和USB 狗驱动
返回值:
如果运行成功则返回0 ,否则返回错误值。
* win32dll.dll:提供加密狗读写操作的DLL
需要用到以下方法:
(1)DWORD WINAPI DogRead (DWORD dwBytes,DWORD dwAddr,char *pData);
函数返回0 表示读写成功,其它返回值为错误代码。
变量说明:
DWORD dwBytes:每次变换或读写操作的字节数
DWORD dwAddr:每次读写操作时狗中的首地址
char * pData :指向变换操作缓冲区的数据指针
实现加密狗授权(C#)
定义SoftDog 类
首先定义一个SoftDog 的静态类,静态类的主要特点如下:
* 它们仅包含静态成员。
* 它们不能被实例化。
* 它们是密封的,不可被继承。
* 它们不能包含实例构造函数。
using System;
using System.Runtime.InteropServices;
namespace HCommon.License
{
[StructLayout(LayoutKind.Sequential)]
public static class SoftDog
{
}
}
然后,使用DllImport 引入使用到的dll 方法,因为参数和返回值都很不友好,所以定义
为private,不直接向外部公开。
/// lt;summarygt;
/// 获取狗驱动程序安装信息接口函数GetDogDriverInfo
/// lt;/summarygt;
[DllImport(quot;SoftDogSetup.dllquot;, CharSet = CharSet.Ansi)]
private static extern ushort GetDogDriverInfo()
;
/// lt;summarygt;
/// 驱动
安装的函数接口InstDriver
/// lt;/summarygt;
[DllImport(quot;SoftDogSetup.dllquot;, CharSet = CharSet.Ansi)]
private static extern ushort InstDriver(ushort flag);
/// lt;summarygt;
/// 驱动卸载的函数接口UninstallDriver
/// lt;/summarygt;
[DllImport(quot;SoftDogSetup.dllquot;, CharSet = CharSet.Ansi)]
private static extern ushort Uninstall
您可能关注的文档
最近下载
- 住宅小区视频监控系统方案设计.ppt
- 药食同源及药膳配方食品通用要求.pdf VIP
- 淮阴工学院2021-2022学年第1学期《高等数学(上)》期末考试试卷(B卷)及标准答案.pdf
- 内审员内审程序和注意事项要点分析.ppt
- 2020-2021学年陕西省西安市经开区五年级(上)期末数学试卷.docx VIP
- 电厂锅炉原理及设备知识点.pdf VIP
- 新疆大学《大学语文》2020-2021学年第一学期期末考试试卷.pdf VIP
- 山东省滨州市滨城区2023-2024学年七年级上学期期末考试地理试卷(含答案).pdf VIP
- 影子(课件)综合实践活动二年级上册.pptx
- 经济法简答题及论述题.doc
文档评论(0)