Module: K3CloudWebapiSdk::Util::EncodeUtil

Defined in:
lib/k3cloud_webapi_sdk/util/encode_util.rb

Class Method Summary collapse

Class Method Details

.decode_app_secret(app_secret) ⇒ Object

Decode application secret



7
8
9
10
11
12
13
# File 'lib/k3cloud_webapi_sdk/util/encode_util.rb', line 7

def self.decode_app_secret(app_secret)
  return '' if app_secret.length != 32
  
  base64_decode = Base64Util.decode(app_secret)
  base64_xor = xor_code(base64_decode)
  Base64Util.encode(base64_xor.pack('C*'))
end

.encode_char(ch) ⇒ Object

Encode character using ROT13-like cipher



16
17
18
19
20
21
22
23
24
# File 'lib/k3cloud_webapi_sdk/util/encode_util.rb', line 16

def self.encode_char(ch)
  if ch =~ /[a-z]/
    ((ch.ord - 97 + 13) % 26 + 97).chr
  elsif ch =~ /[A-Z]/
    ((ch.ord - 65 + 13) % 26 + 65).chr
  else
    ch
  end
end

.rot(s) ⇒ Object

ROT function



27
28
29
# File 'lib/k3cloud_webapi_sdk/util/encode_util.rb', line 27

def self.rot(s)
  s.chars.map { |c| encode_char(c) }.join('')
end