大无语,昨天写了很多,结果没有保存,我枯了.
nodeJS获取系统目录:
使用os库
os.homedir()
即可
前不久做了一个有关离线软件的加密,需求是有试用期和专业版.
离线软件对每一个电脑做唯一认证,也就是一个电脑对应一个软件.
我去查有没有电脑的唯一认证id,网上的说法参差不齐,有以下几种说法
1.使用mac地址,但是mac会变的概率很大
2.使用主板,CPU,显卡…等多个硬件信息的组合,变成唯一值(但是这么做的缺陷就是如果你把电源风扇的信息加进来,哪天别人风扇坏了,换了一个,结果你软件不能用了,这不是很扯嘛)
3.电脑出厂有些会配置一个唯一id,但是有些不会配置(这就不能取了)
于是找到一个折中办法,获取CpuId作为唯一认证.
加密的逻辑我就不多讲了,自己用一些加密算法组合.
nodeJS这里,我使用
node-wmic , child_process
这两个库分别获取windows系统下与linux系统下的processorId(CpuID)
然后使用
crypto-js
这个库进行做加密.
如果做复杂一些就用RSA,不过这个东西一般做网络上的比较好.
试用期因为是离线的,所以要保存到用户不轻易发现的地方.例如C盘的缓存数据中
或者自己造数据库,放在软件里,试用期的数据库里的数据是加密的即使用户打开db文件,篡改了加密信息,除非他知道秘钥,否则不可能轻易破解.
检测到他篡改就直接过期试用期.
以上就记录这么多.
