由于业务中最近需要使用到加密狗,增加对Web代码的管控,所以需要进行加密狗使用的研究

首先,对于没有接触使用过加密狗的人需要有个大致的认识,加密狗分为 MasterDog,

1.下载加密狗的开发套件,这个一般购买加密狗厂商会提供 (safenetftp%5Csuperdog%5CSuperDog-R-2.3.1.56436.iso)

安装完成之后会在看到如上图的一个菜单项

2.代码集成加密狗

代码中集成加密狗,使用中将加密狗集成到了过滤器中,针对请求检查加密狗的状态,加密狗提供了.net的开发sdk,包含如下的dll

a.自定义过滤器

    public class dogFilter : FilterAttribute, IActionFilter{void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext){}void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext){if (filterContext.Controller.GetType() != typeof(ErrorController)){if (!DogValidate.JudgeDog())filterContext.Result = new RedirectResult("/Error/NoAuthorized?Message=对不起,未插入软件狗,无权限操作系统!");}}}

b.注册过滤器

c.DogValidata类的编码

public static class DogValidate{private static string m_vendorCodeString = "sRzyJecV/0ZD/lqK4JTnNTloxW9gCSVqCKUpibPV7nupz9d2XpFUPMQhAr9sZvGin+x06jdhKzIPbtCp4BkTsW+7Ukbu4xR1aU8TQ5is1tEIpkeoeQVtpZg7Sa3tfh9x6WKqRL7JcF8y9EP/zJbwNUhw2BpgFy0bGRe12koZncRwMsJow6bhQ2OeU1IXhGLwYFcuyncNDnSt9cKQKMzLLYm7/LbxkLwfEIOdXeHtiLaefnoFsrVgsYt631Qn6DeFkn9cOQKZyvqHNUZBrXjIlc/0cTdjDAhN3hZHpzFM0mBMkgaJs7hAgvfOiRfGi0GqnQ9cbdYMCktP9A2aIc0+NyGt3eCcejgiH57/hTQldU1DHAKhj6kizDSmvQMHISezzizXyEn2Sc+dblHPzBEzDybuQky44WnB/uHJmAfp5Wp0NFO6/hMIBfwOkhj3ZxG4hSn4lEuyVX9AmNRhJBbZMTUGjjvfXNFbzLHaPyxGt0Ya9l4M7T52H9ilw+OM6ZW77uWf+ufAEoiNxT4D0GsCDFDP7rxRhAFop7LXSPSuLadcDnrLXDjg+BiejczvTN0M4WQ/w7EqJVQo5kWAaTJeMrTPr8IkJ7xidHWskWnHPdXK6ZX8aIAC+8fQIxdyCltPppuiaHeGpcnxKrbo9/lhmmLQkIAlH+ND21h1SticidCKOfICrOeuOYYOBDvJJSUN2mqK6EyWUpp4z2FVzoKzkQnxCMOtaa4paA/Vaw8wAua/NIj19h7TT/I67tTwrYUkHdfIg8oyHEW/dfWs60ACxWixULSIVqlk3vPDTlJHttuSkUNucggJYxooSGGiyp3x8AEn6CjX0vmxiqYXwmPhlqkdqoh8ACdH3XoYMzNKo9fxkPardQZDJayMM9hxY5InwWYrL8hKY0l4fwJDnZR8nKdBNZAo6f+iVWWZK3mxYTKymVuUkvBEpHRhyuzSVWdEm6l9Q1frLZYBPrJX2j2ngw==";public static string m_defaultScope = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> " +"<dogscope> " +"   <license_manager hostname =\"localhost\" /> " +"</dogscope>";public static bool JudgeDog(int num = 1){try{DogFeature feature = DogFeature.FromFeature(num);Dog dog = new Dog(feature);DogStatus status = dog.Login(m_vendorCodeString, m_defaultScope);if (status != DogStatus.StatusOk){                   if (status == DogStatus.FeatureNotFound){return JudgeDog(0);}return false;}}catch (Exception e){throw new Exception("狗驱动加载失败,请执行目录下的工具=》软件狗问题请执行我.exe");}return true;}}

上诉的代码中 m_vendorCodeString,m_defaultScope 购买加密狗时,sdk会提供,主要是通过dog.Login来进行验证,这里又涉及到加密狗的特征问题,每个加密狗会有多个特征,这里的DogFeature.FromFeature根据特征ID获取不同的特征来验证,这里我在使用的过程中只设置了一个特征,就是有效期,例如设置系统有效期为一年,一年后将不能使用,下面看看加密狗该如何配置特征,来配合程序检测

3.加密狗工具的使用,配置特征

加密狗使用中,有SuperDog Master(母狗)SuperDog(子狗)的区分,母狗用来编程子狗,子狗随软件一起给客户部署插入use即可

a.电脑上插入母狗以及子狗

b.选择加密狗工具包

b.选择授权管理工具

点击添加许可特征

上图配置的就是特征,包含特征ID,以及过程日期,这里需要配置允许远程桌面访问,否则远程连接会有问题,特征ID配合程序的 DogFeature.FromFeature(num);中num的值一致即可

然后编程加密狗,将特征写入加密狗

查看加密狗的状态,看编程的结果

软件发行过程中,如果IIS的应用程序池需要设置为 允许32位程序运行

转载于:https://www.cnblogs.com/tiaoshuidenong/p/6625281.html

.Net中Web增加加密狗管理相关推荐

  1. 在InstallShield中写SuperDog加密狗程序

    因为公司有个需求,需要一个安装包,只允许在一台电脑上安装,安装了之后,就无法在其他电脑安装了,我就想到了加密狗,于是就淘宝了一个safenet的超级狗superdog. 通过c#编写一个dll 先将目 ...

  2. 关于在Qt C++中飞天诚信Rockey5加密狗使用记录

    需要引用的windows库 1. legacy_stdio_definitions.lib 2. #pragma comment(lib,"AdvAPI32") 需要引用的头文件 ...

  3. 加密狗是什么?一次性给您说全加密狗的概念

    转自:https://zhuanlan.zhihu.com/p/114759935 加密狗,也称作加密锁,是一种用在计算机.智能硬件设备.工控机.云端系统等软硬件加密产品.软件开发商通过加密狗管理软件 ...

  4. 用C#开发加密狗程序

    一些商务管理软件,为了防止盗版,经常使用加密狗将软件加密.下面的两个实例将介绍如何将密码写入加密狗及利用加密狗来设计加密程序. 在使用加密狗时,需要向加密狗中写入或读取数据.例如,将密码写入或读取加密 ...

  5. USBserver专业解决用友u8|金蝶等财务加密狗在虚拟机识别动态迁移解决方案

    现在随着大家广泛使用服务器虚拟化,随之也会有些小问题出现,例如;在我们做虚拟化时候,有个应用程序需要加密狗来启动,而虚拟机上没有USB口或者USB口不够,我通常都会采用主机加前置机来解决这个问题,但是 ...

  6. python加密狗的制作_如何使用U盘制作Windows系统开机加密狗图文教程

    U盘等移动设备除了可以用来储存文件,装系统以外,还可以用来制作加密狗.这篇文章中所指的加密狗仅指针对Windows系统开机的加密狗.它的作用是为了避免他人随便开启自己的电脑查看自己的私密信息,除了设置 ...

  7. Unity3d C#实现程序的加密狗验证功能(PC)

    前言 这里主要分享一下我实现的方式方法,在项目中会遇到加密狗功能,主要放置用户任意复杂产品,所以按套售卖的软件都需要这个功能. 实现方式 主要是以采购的方式实现的,自己造轮子没能力,过程可能大致一样, ...

  8. 使用Java模拟Web端的POST或GET请求,实现自动化操作:加密狗烧制技术详解

    简介 硬件锁(加密狗)加密软件.与金雅特公司合作的方式是:买家公司开发一个授权程序(这里公司的授权程序:Encrypt类的encrypt()方法),进行授权管理用户锁. 注意:LZ只演示模拟Web端的 ...

  9. Parallels中使用加密狗读取文件出现错误

    2019独角兽企业重金招聘Python工程师标准>>> 当我们通过parallels desktop虚拟机软件在mac上安装windows操作系统后,windows虚拟机操作系统可以 ...

最新文章

  1. 推荐2020年度最佳的23个的机器学习项目(附源代码)
  2. Qt 使用#define+qDebug()输出调试信息
  3. 解决java.lang.UnsupportedClassVersionError: Bad version number in .class file问题
  4. (Java)关于泛型
  5. 在 .NET 中使用 C# 处理 YAML
  6. MySQL 引擎特性 · InnoDB Buffer Pool
  7. Mapreduce的工作流程
  8. 堂堂小米手表竟比不上小天才电话手表?不支持视频和拍照...
  9. mac下Python2运行SparkSQL
  10. android httpclient 乱码,【问题解决】HttpClient解析服务器返回的response出现乱码
  11. 怎么禁用html5,如何禁用HTML5视频标签?
  12. PE格式第七讲,重定位表
  13. Gambit建模中split的用法
  14. 智慧供水:整体解决方案建设需求
  15. 马拉车算法(求最长回文串)
  16. wps根据标题自动生成目录
  17. 角点(corner point)、关键点(key point)、特征点(feature point)概念辨析
  18. leetcode1055
  19. 沉思录三:敏捷开发的精髓是什么
  20. Unity 鼠标拖动UI

热门文章

  1. creating output section “HRCap1RegsFile“ without a SECTIONS
  2. c语言安徽省考试成绩查询,2021安徽省考报名入口_安徽省考成绩查询
  3. 眼睛结构粗分离 - 巩膜 - 虹膜
  4. Ubuntu22.04 用 `hwclock` 或 `timedatectl` 来设置RTC硬件时钟为本地时区
  5. 找工作需要有工作经验,而没工作就没工作经验。如何理解这种死循环?
  6. 直播的用户体验体系与质量监控方案
  7. HashMap源码分析(深入理解HashMap)
  8. 《Learning without Forgetting》 论文阅读笔记
  9. 【蓝牙系列】蓝牙5.4到底更新了什么(2)
  10. 虚拟机windows10 屏幕大小不能自适应