D
При полной работоспобности, готов оплатить выполненую работы
Omen
Итерируй keyvalues
Gennady
Есть скрипт на сайте, который ипользует библиотеку CryptoJS. Хотелось бы эмулировать генерацию ключей на python. j = CryptoJS.AES.encrypt(JSON.stringify(LIVESTREET_SECURITY_KEY), "SECRETKEY", { format: g }).toString(); Нашел в доках библы пример работы с ней. И возможно даже рабочий скрипт на php. function cryptoJsAesEncrypt($passphrase, $value){ $salt = openssl_random_pseudo_bytes(8); $salted = ''; $dx = ''; while (strlen($salted) < 48) { $dx = md5($dx.$passphrase.$salt, true); $salted .= $dx; } $key = substr($salted, 0, 32); $iv = substr($salted, 32,16); $encrypted_data = openssl_encrypt(json_encode($value), 'aes-256-cbc', $key, true, $iv); $data = array("ct" => base64_encode($encrypted_data), "iv" => bin2hex($iv), "s" => bin2hex($salt)); return json_encode($data); } Переписал это в from secrets import token_hex from hashlib import md5 from base64 import b64encode from Crypto.Cipher import AES def crypt(passphrase, value): salt = token_hex(8) salted = '' dx = '' while len(salted) < 48: target = dx + passphrase + salt dx = md5(target.encode('utf-8')).hexdigest() salted += dx key = salted[:32] iv = salted[32:-16] cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv.encode('utf-8')) return { 'ct': b64encode(cipher.encrypt(value.encode('utf-8'))).decode('utf-8'), 'iv': iv, 's': salt } Вот пример результата работы скрипта на сайте: {"ct":"9V0m2MQYyVmvX0KFysUiabJXybX5YvlrcExJivn97RVmWGfCzBvXtTZBHzRYzmxZ","iv":"f0501cb3e1821662174ef4a27668ea5f","s":"f4ba47651002ed41"} Вот пример результата скрипта на Python {'ct': 'YdyKzxQg7C91l1xx+G+aQ4DA0N5mmVb+FH0M+LEwlis=', 'iv': '05a4c3d560f16a36', 's': 'e05d97054995a41e'} Выходит что длины разные
Gennady
Там AES. Что-бы поправить? Мож кто в JSах шарит?
Nikolay
🌚
Omen
это метод, возвращает кортеж key value
Omen
я тебя обманул. {}.items()
Nikolay
У меня кончились слова.
17
🙁
Aragaer
>>> d = {'a': 1, 'b': 2} >>> D = {v: k for k, v in d.items()} >>> D {1: 'a', 2: 'b'}
Aragaer
тогда кровь-кишки
Aragaer
один из них перетрет остальные
Aragaer
>>> d = {'a': 1, 'b': 2, 'c': 1} >>> D = {v: k for k, v in d.items()} >>> D {1: 'c', 2: 'b'}
Tigran
У меня кончились слова.
пробовал книжки читать?
Tigran
я слышал, там их много
Aragaer
>>> next(k for k,v in d.items() if v==1) 'a'
Aragaer
вот норм вариант. Но надо StopIteration ловить руками
Nikolay
пробовал книжки читать?
Я не читаю книжки. Я смотрю тренды русского ютуба.
Tigran
вот норм вариант. Но надо StopIteration ловить руками
ещё можно вторым аргументом next воспользоваться 🌚
Omen
filter(lambda k,v: v==1, d.items())
Арсений!
Друзья, можете написать пример изменения текста телеграм ботом после нажатия на callback кнопку? Буквально пару строчек
Nikolay
Я не умею создавать ботов, так что не помогу
Арсений!
Я не умею создавать ботов, так что не помогу
Ничего страшного. Ты все равно останешься моим другом
Omen
Ща
Omen
Может помогу
Omen
Тебе что именно
Omen
Могу исходник с примером кинуть
Omen
Я там на твистеде пилил надстройку какую то
Арсений!
Тебе что именно
Просто изменение изначального текста после нажатия на кнопку. В любом возможном виде
Omen
Ща
Omen
https://pastebin.com/fnexEuJP
Omen
Там внизу пример запилен
Omen
Тип цепляешь калбэк команду к кнопке
Omen
Тык на неё, возращается слбытие калбэк и название кнопки.
Omen
Падаешь в едит меседж по айди мессаги, что вернулась
Арсений!
Ок, спасибо
Omen
Не за что
Omen
Бля чот не верю, что это я писал код
Omen
Говнокод какой-то
Andrew
Спасибо
Апач
можно ли определять свои бинарные лево и правоассоциативные операторы?
Апач
по типу +, *
🍁 Jaŭhien
Нельзя
Апач
эх бяда. А ведь удобная же фича
🍁 Jaŭhien
Можно переопределять существующие
Апач
для dsl в особенности
Апач
Не, не годняк.
🍁 Jaŭhien
За дсл можно сходить в хаскель или окамл
Omen
можно для coding модуля запилить кастом реализацию
Omen
#coding:dsl_ass
Omen
и всё
Omen
https://github.com/marrow/cinje
Апач
Как то ну уж очень притрушенно реализовано
Omen
Tishka17
Апач
Но радует что такая возможность всё же есть
Сергей
а что если нуноу эти не эыт
Omen
Это зачем?
Пример дсл, которая так сделала
Апач
Это зачем?
писать фронт на питоне
Сергей
шас
Апач
например
Апач
да и просто дофига удобно
Апач
меньше сокобок
Tishka17
Пример дсл, которая так сделала
Щас, распаршю что такое dsl. Для меня это все ещё семейство протоколов типа adsl
🍁 Jaŭhien
domain specific language
Andrew
@goo_cloud_ru по гуглоклауду тебе сюда
Шутники там какие-то, а не помощники)
Kop
Генераторы часто используют вообще ?
Tishka17
domain specific language
Стало ещё более непонятно
Tishka17
Где-то раз в пару дней
Tishka17
Если считать только те дни, когда пишу код
Kop
Где-то раз в пару дней
Можешь скинуть пример в коде где использовал ?
Kop
Кусок функцию
Tishka17
Щас гляну, есть че на гитхабе
Kop
Generator example 😂👌🏻
Tishka17
Чёт даже и показать нечего
Tishka17
Можешь скинуть пример в коде где использовал ?
https://github.com/Tishka17/joom_test/blob/master/generate.py