Module: Fuiou::Sign

Defined in:
lib/fuiou/sign.rb

Constant Summary collapse

SIGN_TYPE_MD5 =
"MD5"
ENCODE_TYPE_GBK =
"GBK"

Class Method Summary collapse

Class Method Details

.rsa_sign(rsa_string) ⇒ Object



13
14
15
16
17
# File 'lib/fuiou/sign.rb', line 13

def rsa_sign(rsa_string)
  rsa = OpenSSL::PKey::RSA.new(Fuiou.ins_private_key)
  sign = rsa.sign(SIGN_TYPE_MD5, rsa_string.encode(ENCODE_TYPE_GBK))
  CGI.escape(Base64.strict_encode64(sign))
end

.rsa_verify?(rsa_string, sign) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
# File 'lib/fuiou/sign.rb', line 19

def rsa_verify?(rsa_string, sign)
  rsa = OpenSSL::PKey::RSA.new(Fuiou.ins_public_key)
  rsa.verify(
    SIGN_TYPE_MD5,
    Base64.strict_decode64(CGI.unescape(sign)),
    rsa_string.encode(ENCODE_TYPE_GBK)
  )
end