Разница в хэше HMAC-SHA1 при создании в приложении: приложение на основе флеш-докера, работающее в модуле - PullRequest
0 голосов
/ 02 октября 2019

Хэш-диспетчер webhook отличается от принимающего клиента при перемещении в рабочую среду на кластере k8s. тогда как на локальном они работают отлично.

Я реализовал диспетчер webhook, который генерирует подпись HMAC-SHA1 тела json перед отправкой. при тестировании на локальном компьютере подпись и проверенный дайджест идентичны, когда я развертываю один и тот же фрагмент кода, это диспетчер для модуля k8s, тот же самый json, используемый для теста, генерирует другой хэш из клиента-получателя webhook

Пример json

{
  "event": "review.manual", 
  "data": {
    "recommendation": "accept", 
    "author": "Ebot Tabi", 
    "datetime": "02 Oct, 2019, 09:41AM", 
    "transaction": {
      "transaction_score": 37, 
      "transaction_total_price": "4,809.00", 
      "is_fraud": "no", 
      "transaction_id": "zduaevejkjvnjo", 
      "customer_id": "sedeupdgixswil"
    }, 
    "customer": {
      "first_name": "Joseph", 
      "last_name": "Jones", 
      "email": "petersonrobert@gmail.com", 
      "customer_id": "sedeupdgixswil"
    }
  }
}

Python-код для генерации хеша:

def generate_digest(data, secret):
    return hmac.new(secret.encode("utf-8"), msg=data, digestmod=hashlib.sha1).hexdigest()
...