Class: AuthingRuby::Utils

Inherits:
Object
  • Object
show all
Defined in:
lib/authing_ruby/utils/utils.rb

Class Method Summary collapse

Class Method Details

.encrypt(plainText, publicKey) ⇒ Object

参照 JS SDK 的 encrypt 函数github.com/Authing/authing.js/blob/cf4757d09de3b44c3c3f4509ae8c8715c9f302a2/src/lib/utils.ts#L12 用途:传入一个明文,传入一个公钥用这个公钥对明文进行 RSA 加密,然后返回 base64 编码后的结果



11
12
13
14
15
# File 'lib/authing_ruby/utils/utils.rb', line 11

def self.encrypt(plainText, publicKey)
  key = OpenSSL::PKey::RSA.new(publicKey)
  result = key.public_encrypt(plainText)
  return Base64.encode64(result)
end

.generateRandomString(length = 30) ⇒ Object

生成随机字符串,参照 JS SDK 里的 src/lib/utils.ts



18
19
20
21
22
23
24
25
26
# File 'lib/authing_ruby/utils/utils.rb', line 18

def self.generateRandomString(length = 30)
  result = ""
  chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
  for i in 0..length-1
    random_index = rand(0..chars.length-1)
    result += chars[random_index]
  end
  return result
end

.randomNumberString(length = 8) ⇒ Object

生成一个纯数字的随机字符串



29
30
31
32
33
34
35
36
37
# File 'lib/authing_ruby/utils/utils.rb', line 29

def self.randomNumberString(length = 8)
  result = ""
  chars = '0123456789'
  for i in 0..length-1
    random_index = rand(0..chars.length-1)
    result += chars[random_index]
  end
  return result
end