authors_main:author_advanced:api_main

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
authors_main:author_advanced:api_main [2021/10/19 13:05]
phaust создано
authors_main:author_advanced:api_main [2021/11/01 20:36] (текущий)
admin [Расшифровка]
Строка 1: Строка 1:
 +{{indexmenu_n>​30}}
 ====== Зашифрованная информация об игре ====== ====== Зашифрованная информация об игре ======
  
Строка 28: Строка 29:
 ==== Пример ==== ==== Пример ====
  
-Например: ''​!api:​user_id,​task_id!''​+Чтобы ​получить зашифрованную строку в игре: ''​!api:​user_id,​task_id!''​
  
-Сгенерирует зашифрованную строку ''​0394334e96a2f0fa738470e9a9778c684ba214990d200eab'',​ которую можно расшифровать в <​code>​+Сгенерирует зашифрованную строку ''​0394334e96a2f0fa738470e9a9778c684ba214990d200eab'',​ которую можно расшифровать ​на вашем сервере в 
 + <​code>​
 {'​u':​ 162862, '​tid':​ 42719} {'​u':​ 162862, '​tid':​ 42719}
 </​code>​ </​code>​
Строка 91: Строка 93:
     main()     main()
 </​code>​ </​code>​
 +
 +Пример расшифровки на Ruby:
 +<code Ruby>
 +require '​json'​
 +require '​openssl'​
 +
 +module Blowfish
 +  def self.decrypt(data,​ key)
 +    crypto = OpenSSL::​Cipher::​Cipher.new('​bf-ecb'​).send(:​decrypt)
 +
 +    crypto.key_len = key.length
 +    crypto.key = key
 +    crypto.padding = 0
 +
 +    crypto.update([data].pack("​H*"​)) << crypto.final
 +  end
 +end
 +
 +def qeng_data_decrypt(data,​ key)
 +  decrypted_text = Blowfish.decrypt(data,​ key)
 +
 +  JSON.parse(decrypted_text,​ symbolize_names:​ true)
 +end
 +
 +# Usage example
 +#
 +data = '​0394334e96a2f0fa738470e9a9778c684ba214990d200eab'​
 +key = '​XgHxzCvUSXwPfR7wBvdY4xHC6tSFLewx'​
 +
 +qeng_data_decrypt(data,​ key) # => {:​u=>​162862,​ :​tid=>​42719}
 +</​code>​
 +
  • authors_main/author_advanced/api_main.1634648750.txt.gz
  • Последние изменения: 2021/10/19 13:05
  • phaust