继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ruby下使用rsa非对称加密

ABOUTYOU
关注TA
已关注
手记 300
粉丝 67
获赞 358

license 是通过私有加密的文件,下面程序是在程序中使用公钥解密,然后进行相应验证操作

    require 'openssl'
    require "base64"
    require "json"
    keypath = "/usr/auth/pub_key.pem"
    aclpath = "/usr/auth/license.txt"
    #判断加密文件是否存在
    if !File::exists?(keypath) or !File::exists?(aclpath) then
        puts "授权文件不存在"
    end
    #读取并解密文件
    rsa_priv = OpenSSL::PKey::RSA.new(File.read(keypath))
    buffer   = rsa_priv.public_decrypt(Base64.decode64(File.read(aclpath)))        
    #判断时间是否过期
    if !buffer then
        puts '无效的授权文件'
    end
    #判断时间
    license = JSON.parse(buffer);    #读取内容并验证
    puts license



作者:daos
链接:https://www.jianshu.com/p/e044d47384d5

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP