今天有一个网友说他写了一个小软件,想增加注册码功能。问我有什么思路。
我想了一下,说可以做在注册表里面,找个位置保存注册情况。
程序检查到没注册时就不工作,要求用户输入密码(注册码)。
他不太认可,担心用户跟踪到注册表里面的记录,直接修改注册表跳过。
然后我又建议他每次程序启动时联网检查用户注册情况,他又否定了,说用户不一定联网。
我又建议他把注册信息写在特殊的u盘,用户注册了后发个u盘给他,程序要读到这个u盘才可以工作。
他又否定了,说用户可能是在购买的云服务器上跑,没法插u盘。
后来我在百度上找了一个,给了最后一个方案,他终于认可了:
使用rsa加密方法,将用户信息使用公钥进行加密。用户要注册时需要把加密结果发给他。
他用私钥解开后,可以住里面增加有效期,注册功能等信息,再用私钥加密。把加密结果做为注册码发回给用户,保存起来。
程序每次启动时要读取这个注册码,用公钥解开,获取里面的注册信息。
rsa真是一个有趣的技术,不仅可以用来做加密,还能用来做签名,还可以像现在这样用来做注册码