开发商通过加密狗(加密锁)开发包,设计加密方案,从而将软件与硬件加密狗进行绑定,绑定后的软件没有正确的加密狗就无法运行。通过加密狗硬件的不可复制性,保证了软件的不可复制性。开发商程序通过调用接口模块对加密狗进行操作,加密狗响应该操作并通过接口模块将相应数据返回给开发商程序。开发商程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的狗,开发商可以将应用程序终止运行。
  
  根据程序完整性检测程序是否被修改--在程序发行前计算程序的
  
  盗版,对大多数软件开发者来说都是一个令人担心的问题。在采用了加密锁加密后的软件会不会被黑客破解呢?理论上说没有不能破解的软件,即使是纯数学的密码加密也有被破解的可能,只不过破解的时间可能是个天文数字。那么剩下的问题就是什么样的加密锁加密能够最大限度地阻挡黑客的进攻,让被保护的软件安然度过市场销售的黄金时代呢?
  
  目前市场上的加密锁大致分为两种类型:带CPU加密锁,不带CPU的加密锁。前者拥有计算能力,对加密数据、过程数据、通讯接口等可以实施动态密文处理,因此带CPU的加密锁也被演化出了多种多样的加密形式:密文校验、自定义算法、程序移植等等。而不带CPU加密锁相对简单,加密强度较低,成本低廉!