module Lanmao::Sign::RSA

Public Class Methods

sign(content, private_key) click to toggle source

签名

# File lib/lanmao/sign/rsa.rb, line 7
def self.sign(content, private_key)
  sign = private_key.sign("sha1", content.force_encoding("utf-8"))
  signature = Base64.encode64(sign)
  signature = signature.delete("\n").delete("\r")
end
verify(data, sign, config) click to toggle source

验签

# File lib/lanmao/sign/rsa.rb, line 14
def self.verify(data, sign, config)  ##如何从data里分离出原始数据和签名数据
  if sign
    sign = Base64.decode64(sign)
    digester = OpenSSL::Digest::SHA1.new
    config[:public_key].verify(digester, sign, data)
  else
    true
  end
end