Перевести код с PHP на Python

Дата публикации: 24.11.2022 20:13:04
Есть код на PHP, нужно перевести его на Python.
Нужно сделать функцию которая будет принимать str и dict (можно и json) и возвращать str как в этом коде.
<?php
class Hmac {
static function create($data, $key, $algo = 'sha256') {
if (!in_array($algo, hash_algos()))
return false;
$data = (array) $data;
array_walk_recursive($data, function(&$v){
$v = strval($v);
});
self::_sort($data);
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
$data = preg_replace_callback('/((\\\u{4})+)/', function ($matches) {
return json_decode('"'.$matches.'"');
}, json_encode($data));
}
else {
$data = json_encode($data, JSON_UNESCAPED_UNICODE);
}
return hash_hmac($algo, $data, $key);
}

static function verify($data, $key, $sign, $algo = 'sha256') {
$_sign = self::create($data, $key, $algo);
return ($_sign && (strtolower($_sign) == strtolower($sign)));
}

static private function _sort(&$data) {
ksort($data, SORT_REGULAR);
foreach ($data as &$arr)
is_array($arr) && self::_sort($arr);
}
}
?>
Источник: www.weblancer.net
Число просмотров: 2

Еще проекты:

Разместить объявление

Создать объявление на Авито по готовому шаблону,важно чтобы аккаунту было пол года,оплата 200

Необходимо создать мокап прелендинга под кликандер трафик

Задача придумать прелендинг для кликандер трафика под оффер онлайн школы по заработку онлайн.
Кликандер формат рекламы - это автоматически открываемые окна при серфинге в интернете, если открывать сразу основной лендинг продукта, то конверсия на таком типа трафа будет ничтожной. Задача преленда зацепить как то юзера в первую секунду чтобы он не закрыл страницу и затем увлечь его в какой нибудь квиз и далее уже после прохождения квиза отправить на основной лендинг продукта.
Ваша задача придумать...

Нужно зробити курсову роботу з программування на Java

Треба зробити курсову роботу, починаючи з 3 пункту. Варіант 26. Саму методичку скину в особисте листування. 
Сюди прикріпляю першу частину курсової. 
Також, мені треба бути показувати результат виконання та комментувати. Треба написать алгоритм типу:
1. Вы открываете проект в intellij idea
2. Открываете первый класс Person. Он есть абстрактным и имеет два поля : initials - что значит инициалы человека, phone number - что означает номер телефона человека. Этот класс имеет абстрактный метод Output...

Потрібно зробити 2 завдання та відповісти на 2 теоритичних питання

Я додаю приклад. як повино виглядати, також роботу, по якій треба зробити завдання і програмні класи. Срочно треба зробити до завтра!!
Також, відповісти на 2 питання в теоритичній частині, ісходячи з роботи!

Написать комментарий

Написать комментарий к рилс и подписаться на аккаунт в Инстаграм. " Комментарий должен подходить по смыслу. И желательно, чтобы у вас быть "живой" профиль в Инст
Просьба откликаться фрилансерам только из России, чтобы не было проблем с переводом денег. Перевод через сбп или сбер. Оплата - 35 руб