首页 > 其他分享 >使用openssl_encrypt自己生成license.lic文件

使用openssl_encrypt自己生成license.lic文件

时间:2023-09-28 11:01:39浏览次数:36  
标签:encrypt license 16 encryptedContent openssl iv lic 加密

 

    //生成加密文件
    public function createLicense()
    {
        // 加密信息
        $licenseData = [
            'user' => 'John Doe',
            'expiry' => '2022-12-31',
        ];
        $licenseData = json_encode($licenseData);//生成json

        $ivlen = openssl_cipher_iv_length("AES-256-CBC");//获得iv长度
        // 生成iv  16个字符串
        $iv = openssl_random_pseudo_bytes($ivlen);
        $encryptedContent = openssl_encrypt($licenseData, 'AES-256-CBC', "SAC-1", 0, $iv);//生成加密后的数据,64个字符串
        //必须携带原有iv
        $encryptedData = $iv . $encryptedContent;
        // 将授权文件写入磁盘
        return file_put_contents('you_path/license.lic', $encryptedData);
    }
    
    //读取加密信息
    public function readLicense(){
        //获取信息内容
        $encryptedContent = file_get_contents("you_path/license.lic");
        //读取前面16个字符加密的iv
        $iv = substr($encryptedContent, 0, 16);
        //获取16字符之后的数据
        $encryptedContent = substr($encryptedContent, 16);

        // 使用相同的加密算法和密钥对文件内容进行解密
        $decryptedContent = openssl_decrypt($encryptedContent, 'AES-256-CBC', "SAC-1", 0,$iv);
        return $decryptedContent;
    }

 

标签:encrypt,license,16,encryptedContent,openssl,iv,lic,加密
From: https://www.cnblogs.com/jsyphp/p/17735209.html

相关文章

  • 使用openssl生成根证书和服务器证书
    1、生成服务器私钥opensslgenrsa-outserver.key20482、根据服务器私钥文件生成证书请求文件,这个文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些用户信息,随便填写,一路回车即可opensslreq-new-keyserver.key-outserver.csrYoua......
  • DM8替换license的方法
    1.适用范围DM82.KEY的所在目录默认key在$DM_HOME/bin的目录下,申请key要提供cpu架构和客户名称和数据库版本,key的类型等,如果数据库上有KEY,在数据库的安装目录的bin目录下,把原有的dm.key改为dm.key.bak,将新的license放到安装目录的bin目录下,名字改为dm.key,如果当前版本,原来没有KEY......
  • Ubuntu通过certbot手动配置Let's Encrypt SSL泛型域名证书
    1.安装Snap使用命令安装snap,以及core组件sudoaptinstallsnapdsudosnapinstallcoresudosnaprefreshcore2.移除旧有的certbotsudoapt-getremovecertbotsudodnfremovecertbotsudoyumremovecertbot3.安装certbotsudosnapinstall--classiccertbot......
  • 使用openssl创建ssl证书,用于测试https服务
    一个web站点要对外提供https服务就需要ssl证书,ssl证书可以从云服务厂商那里购买,通常也能申请到免费的,但是如果只是为了测试,则可以使用openssl来创建ssl证书。下面是完整的生成过程:第一步:创建私钥opensslgenrsa-outserver.key2048第二步:创建签名请求文件opensslreq-new-key......
  • Clone fail unable to access 'httpsgithub.comLovi-githubmyUserCenter.git' OpenSSL
    bug:unabletoaccess'https://github.com/xxx':OpenSSLSSL_read:SSL_ERROR_SYSCALL,errno10054关于git提交github出现errno10054、port443:Timedout等问题解决_git提交10054_husishuai的博客-CSDN博客按照上边的解决方法即可......
  • window下编译openssl
    BuildingOpenSSL1.1.1(b)Notes(Windows)·GitHub nasm下载地址:https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-installer-x64.exeopenssl下载地址:https://codeload.github.com/openssl/openssl/zip/refs/heads/masterperl下载地址:ht......
  • Python基于License的项目授权机制
    1需求说明当项目平台被首次部署在服务器上时,系统是没有被授权的。当客户希望将平台部署到某一台特定的服务器进行使用时,需要提供该服务器的MAC地址,以及授权到期时间,请求获取授权码,收到授权码后,就能正常使用迁移平台。授权方收到授权请求时,获得平台安装的目标服务器的MAC地址......
  • docker-compose 报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
    没有解决问题的操作wgethttps://www.openssl.org/source/openssl-1.1.1v.tar.gztar-zxvfopenssl-1.1.1v.tar.gzcdopenssl-*./config--prefix=/usr/local/ssl--openssldir=/usr/local/sslsharedmakesudomakeinstallecho"/usr/local/ssl/lib"|sudotee/e......
  • windows 编译openssl
    1、downloadthelatestsourceofopensslfromgithub2、downloadnasm,settheenviromentviariable3、enterintodir C:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Enterprise\VC\Auxiliary\Buildvcvars64.bat4、enterintothedirof openssl,runtheco......
  • evil-winrm:An error of type OpenSSL::Digest::DigestError happened, message is Dig
    使用evil-winrm无法连接主机,出现以下错误Info:EstablishingconnectiontoremoteendpointError:AnerroroftypeOpenSSL::Digest::DigestErrorhappened,messageisDigestinitializationfailed:initializationerrorError:Exitingwithcode1 修改/etc/ssl/ope......