RubyRuby on RailsRuby、Rails知识

ruby下使用rsa非对称加密

2018-04-18  本文已影响14人  daos

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
上一篇下一篇

猜你喜欢

热点阅读