要求如下:
   我有一个程序,分客户端和服务器端,现在单机版加密狗加密这个软件,但在用的时候,每个客户端都要插入加密狗才能使用。如果有10个客户端,就要用10个加密狗,现在想做成只有一个加密狗,只插在服务器上,客户端就不用再插加密狗了。但是说如果服务器没有插加密狗的话,客户端将不能启动;并且加密狗里如果设置了最大使用数为3的话,那最多只能允许3个客户端连接。要实现这个功能,该怎么做?

解决方案 »

  1.   

    你是什么狗?
    如果是最普通的狗,里面可能无法存储客户端授权数量信息。一个较简单的方法是,写个自己的hash算法,里面用客户端数量作为一个因子。
      

  2.   

    狗是 SafeNet sentinel (圣天狗)
      

  3.   

    我们用的狗是YT88和UPL-32R,前者的存储器只能存一个128Bit的Hash,后者可以存放证书,并且可以管理有效期。如果你用的型号是YT88,我建议还是每客户端授权,这样最简单,狗的成本毕竟很低。如果是后者,那么你可以把授权的客户端数量,甚至用户名称都保持在UPL-32R的存储器中(类似U盘),然后对数据文件进行加密。服务器读取数据文件来对用户进行访问授权。