@Tayrus0

Как разобраться с этим шифром?

вот сам текст, который нужно расшифровать Lbc5OJkdOZyqri8OF89kBA%3D%3D

Пример, что должно получится после дешифровки из 9MaGC081K1jLXeMyHUCwWg%3D%3D
в 0862352228, из OrBlChFU%2F7WYSJG54o5gJg%3D%3D в 0831446070
  • Вопрос задан
  • 313 просмотров
Решения вопроса 1
vesper-bot
@vesper-bot
Любитель файрволлов
Итого:
Шифр - 3DES/CBC режим padding = PKCS5, ключ="F9nA5uH8CeWreBraCRukaChe" IV="pUJeQ3Tr"

>>> import pyDes
>>> import base64
>>> data = base64.b64decode("9MaGC081K1jLXeMyHUCwWg==")
>>> f = "pUJeQ3Tr".encode('ascii')
>>> b = "F9nA5uH8CeWreBraCRukaChe".encode('ascii')
>>> k=pyDes.triple_des(b,pyDes.CBC,f,pad=None,padmode=pyDes.PAD_PKCS5)
>>> print(k.decrypt(data))
b'0862352228'

Т.е. вроде работает.
Проверка:
>>> data2 = base64.b64decode("Lbc5OJkdOZyqri8OF89kBA==")
>>> print(k.decrypt(data2))
b'0874271626'
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
hint000
@hint000
у админа три руки
Lbc5OJkdOZyqri8OF89kBA%3D%3D
это Lbc5OJkdOZyqri8OF89kBA==
$ echo Lbc5OJkdOZyqri8OF89kBA== | base64 -d
-�98�9���/�d
Океюшки, тогда так
$ echo Lbc5OJkdOZyqri8OF89kBA== | base64 -d | hexdump -C
00000000  2d b7 39 38 99 1d 39 9c  aa ae 2f 0e 17 cf 64 04  |-.98..9.../...d.|
00000010

Что вы будете дальше с этим делать, я уже не знаю.
Ответ написан
Vindicar
@Vindicar
RTFM!
Ну насколько мне видно, тебе интересует только два куска кода.
Инициализация (сокращено):
this.d = Cipher.getInstance("DESede/CBC/PKCS5Padding");
this.e = new SecretKeySpec(this.b, "DESede");
this.f = "pUJeQ3Tr".getBytes();
this.g = new IvParameterSpec(this.f);
this.d.init(2, this.e, this.g);

Дешифровка:
str2 = new String(this.d.doFinal(Base64.decode(URLDecoder.decode(str, "UTF-8"), 0)), "UTF-8");

Если убрать BASE64 и url-кодирование (нужно чтобы засунуть бинарную последовательность в вебстраницу), получаем просто обращение к this.d.doFinal().
Cipher.getInstance("DESede/CBC/PKCS5Padding") - это явно обращение к библиотечному классу, так что выясняешь, что за класс используется, откуда он, ищешь доки, ищешь допустимые коды шифров.
Когда поймешь, что за шифр "DESede/CBC/PKCS5Padding" - можешь начинать искать аналоги на Питоне.
Также поищи, откуда в инициализацию приходит секретный ключ this.b.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы