def decodeToken(token, cryptkey=@cryptkey)
if (cryptkey.nil? or cryptkey.empty?)
fatal("Error: decodeToken: Secret key was not set. Aborting.")
end
token = u64(token)
if (token.nil? or (token.size <= 16) or !(token.size % 16).zero?)
debug("Error: decodeToken: Attempted to decode invalid token.")
return
end
iv = token[0..15]
crypted = token[16..-1]
begin
aes128cbc = OpenSSL::Cipher::AES128.new("CBC")
aes128cbc.decrypt
aes128cbc.iv = iv
aes128cbc.key = cryptkey
decrypted = aes128cbc.update(crypted) + aes128cbc.final
rescue Exception => e
debug("Error: decodeToken: Decryption failed: #{token}, #{e}")
return
end
decrypted
end