IT--授权系统开发

一 开题

      虽然目前的开发项目还很小(哪有项目),但随着代码量、含金量越来越高(哦?),也该考虑授权问题了,万一哪天有购买需求了呢(喂,醒醒)。

二 设计构思

1、授权内容

      通过获取不同层面的用户信息来标识用户的唯一性。我从系统层、主机层、用户注册信息中各抽取一条相对唯一的数据,组成一个应该算是不会出现重复的标识码。

      授权和其他软件一样,也是以使用时间来限制,最终授权码是标识码加授权时间。

2、授权加密

      这次我又换了一个更复杂些的加密算法AES。本来还想在密文中再加些无效字段,就像电影里演的那种必须用相同的镂空模板才能显出关键字的那种加密方式,以后再说。

      最怕的是,在这上下了大功夫,结果别人在一些小细节上轻松破解整个授权系统。

3、授权方式

      应用软件在新环境下被首次打开时,会弹出授权窗口,并会收集用户的那三个信息,加上系统时间,生成本机的现有授权码,然后发给我,我这有个授权码生成器,输入刚才的码,调整授权时间,生成新的授权码发给用户,用户输入新的码后就可以正常使用了。

4、授权限制

      需要有个统一的授权服务器,记录每个用户的授权信息。限制每个注册用户最大设备数,比如一个用户名下可以授权三台设备。如果已激活的软件被拷到新的电脑,执行时会检查环境信息,不正确则不能使用。

      授权时间方面,如果用户故意调整系统时间,只靠授权码限制不住。则需要借助网络时间来核对,所以应用的业务模式最好设计成C/S的,好在我的运维系统就是需要互联网的。

授权码生成器

1、界面展示

2、简介

      就问酷不酷。之前做工单系统时也说要往PyQt上转,外观还只是其一,还有很多功能可以挖掘。

      登陆界面像不像游戏,只有密码输入,匹配正确后直接跳转主界面,但这也给暴力破解省了几行代码。

      主界面有透明度(就是左边的是,乔巴只是为了衬托界面的透明),生成新授权码前要输入第二个密码。里面还有些代码没写完,比如退出键。。。

小结

      授权系统如果没什么大的变动,可能就此一篇了,它可以给以后的各个软件使用。但从网上学习的过程中也可以看到,很多人也说授权之类的“防君子不防小人”,不管做的多好,总会被破解的,我们能做的就是提高它的破解成本。

你可能感兴趣的:(IT--授权系统开发)