Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
authors_main:author_advanced:api_main [2021/10/21 09:14] phaust [Пример] |
authors_main:author_advanced:api_main [2021/11/01 20:36] (текущий) admin [Расшифровка] |
||
---|---|---|---|
Строка 93: | Строка 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> | ||
+ |