美文网首页
软件License 鉴权设计思路

软件License 鉴权设计思路

作者: xintop | 来源:发表于2023-04-05 17:51 被阅读0次

    一、License 包含的信息

    明文状态下,使用json 字符串存储软件应用信息,以下简称(配置信息),如:

    {
    "validTime":"2023-04-30 23:59:59",
    "aiList":[“person”,”xxxxxx”],
    "deviceNum": 10,
    “mainBoard”:”ASDFASDFAfasdfasdfqwer”,
    “cpu”:”asdfasdfsdfas1234sef”
    }
    

    其中包含了 软件过期时间、AI使能列表、设备数量、主板编号、cpu编号,

    二、如何根据配置信息生成License

    1.对以上配置信息使用 AES + RSA 算法进行加密,并生成License,步骤如下:
    (1)先计算出配置信息的MD5值。
    (2)使用RSA加密算法对该MD5进行加密,加密后的密文为签名信息,附加在配置信息后面后续用于签名验签,伪代码:( 配置信息 ) + ( 签名信息 )
    (3)附加完成后将整个信息用AES加密算法进行对称加密,生成出来的密文则为License

    三、如何验证License 合法性

    一般在登录系统时,需要验证License是否合法,步骤如下:

    1.使用AES密钥对License 进行解密,解密后将得到: ( 配置信息 ) + ( 签名信息 )

    2.使用RSA 私钥对其签名信息进行解密,得到配置信息的MD5码

    3.再次计算当前配置信息的MD5并和当前解密后的MD5码进行比对,如果不一致则说明license不合法。

    Ps:
    1.AES 为对称加密算法,加密解密使用同一个密钥,加解密速度快。
    2.RSA 为非对称加密算法,使用时生成一对公私密钥,公钥负责加密,私钥负责解密,加解密速度慢,并且对加密内容长度有限制,一般用于签名验证。

    参考链接:(42条消息) 软件License设计思路与实现方案_软件license实现原理_chengpei147的博客-CSDN博客

    相关文章

      网友评论

          本文标题:软件License 鉴权设计思路

          本文链接:https://www.haomeiwen.com/subject/yixyddtx.html