生成HMAC SHA256签名Python

2024-02-05

尝试为 3Commas 生成 HMAC SHA256 签名,我使用与官方示例 https://github.com/3commas-io/3commas-official-api-docs/blob/master/rest-api.md#example-1-as-a-query-string,它应该生成: “30f678a157230290e00475cfffccbc92ae3659d94c145a2c0e9d0fa28f41c11a”

但我生成: “17a656c7df48fa2db615bfc719627fc94e59265e6af18cc7714694ea5b58a11a”

这是我尝试过的:

secretkey = 'NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j'
totalParams = '/public/api/ver1/accounts/new?type=binance&name=binance_account&api_key=XXXXXX&secret=YYYYYY'
print 'signature = '+hashlib.sha256((secretkey+totalParams).encode('ASCII')).hexdigest()

谁能帮我吗?


尝试使用hmac https://docs.python.org/3/library/hmac.html#hmac.new模块而不是hashlib module:

import hmac
import hashlib


secret_key = b"NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
total_params = b"/public/api/ver1/accounts/new?type=binance&name=binance_account&api_key=XXXXXX&secret=YYYYYY"
signature = hmac.new(secret_key, total_params, hashlib.sha256).hexdigest()
print("signature = {0}".format(signature))

这给出了期望的结果:

signature = 30f678a157230290e00475cfffccbc92ae3659d94c145a2c0e9d0fa28f41c11a

Edit

请注意,hmac模块接受密钥和消息的字节。如果您的输入是字符串,则可以使用str.encode() https://docs.python.org/3/library/stdtypes.html#str.encode具有相关字符集的方法,例如'ascii', 'utf-8' (默认),etc. https://docs.python.org/3/library/codecs.html#standard-encodings

在上面的代码示例中我使用的是字节文字 https://docs.python.org/3/library/stdtypes.html#bytes-objects引入于PEP-3112 https://peps.python.org/pep-3112/。字节文字只能包含 ASCII 字符,任何超出 ASCII 范围的字符都必须作为相关转义序列输入。

例如:

emoji = b'\xf0\x9f\x98\x84'
print(emoji.decode('utf-8'))

因此,上面代码示例中的以下行...

secret_key = b"NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"

...相当于:

secret_key = "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j".encode('ascii')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成HMAC SHA256签名Python 的相关文章

  • Python、Tkinter、更改标签颜色

    有没有一种简单的方法来更改按钮中文本的颜色 I use button text input text here 更改按下后按钮文本的内容 是否存在类似的颜色变化 button color red Use the foreground设置按钮
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 如何将交互式 matplotlib 图形插入 tkinter 画布

    我正在尝试将交互式 matplotlib 图形 具有滑块 重置按钮和单选按钮的图形 放入 tkinter Canvas 中 我已成功添加非交互式图表 但当它变为交互式时找不到问题 我尝试将所有内容更改为使用 matplotlib Figur
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 长时间运行任务的视觉反馈

    我有一个长时间运行的 for each 循环 并且想知道是否有一种惯用的方法来添加一些视觉用户反馈 以便用户不会认为应用程序崩溃了 private void btnRunLongRunningTask Click object sender
  • Hazelcast Jet 查询

    我对 Hazelcast Jet 有以下疑问 用例如下 有一个应用程序 应用程序 A 部署在集群中 使用 Hazelcast IMDG 并将数百万条记录 事务放入 hazelcast IMap 中 已为此 IMap 配置事件日志 还有另一个
  • 如何获取 SwiftUI 中 TextEditor 的光标位置?

    因此 在我的文本编辑器中 我想知道光标的几何位置 我还计划在该位置之后附加一些文本 那么我该怎么做呢 好吧 所以我想出了一个方法来做到这一点 首先 我创建了一个struct存储光标位置 import foundation struct Cu
  • Docker - Node.js + MongoDB - “错误:无法连接到 [localhost:27017]”

    我正在尝试为我的容器创建一个容器Node应用程序 这个应用程序使用MongoDB以确保一些数据的持久性 所以我创建了这个Dockerfile FROM ubuntu latest Installing MongoDB Add 10gen o
  • 如何在第三方库中的Eclipse中设置断点?

    我在第三方库的类中收到 NullPointerException 现在我想调试整个事情 我需要知道该类是从哪个对象中保存的 但在我看来 我无法在第三方的班级中设置断点 有谁知道摆脱我的麻烦的方法吗 当然 我使用 Eclipse 作为我的 I
  • C# Networkstream.read()

    read buffer offset length 实际上是如何工作的 如果我将读取的长度传递为 32 这是否意味着它会一直阻塞 直到收到 32 个字节 我知道如果出现套接字异常或连接关闭 它将分别返回异常或 0 如果发送方只发送 31 个
  • 如何使用 Rspec 测试 google Analytics (garb) API?

    我正在使用garb gem https github com vigetlabs garb从 Google Analytics 中获取一些基本统计数据 例如页面浏览量 一切正常 但我无法找出测试 API 调用的最佳方法 这是我的 Analy
  • 如何计算提交、树和 blob 的哈希值?

    我对如何计算提交 树和 blob 的 SHA 1 哈希值感到困惑 按照本文 https gist github com masak 2415865 提交哈希值是根据以下因素计算的 提交的源树 分解为所有子树和 blob 父提交 sha1 作
  • 存储及其锁定文件已被另一个进程锁定:/var/lib/neo4j/data/databases/graph.db/store_lock

    我做了什么 neo4j console 工作正常 ctrl C 重新启动后我收到上面的消息 我删除 var lib neo4j data databases graph db store lock 那么我有 Externally locke
  • 如何在where条件下使用case语句?

    我需要在 WHERE 子句中使用 CASE 语句 例如 WHERE p resource qry seq b resource qry seq AND p resource id b resource id AND CASE WHEN b
  • 在服务器端 Blazor 中使用 SignInManager

    是否可以使用SignInManager没有一些HTTPContext 我正在制作 Blazor 服务器端应用程序 我需要让最终用户使用以下方式登录PasswordSignInAsync 的方法SignInManager 如果有其他方法可以用
  • 使用特定顺序序列化映射

    我有一个使用字符串作为键和值的地图 我有一个键数组 用于指定映射值的顺序 我想将该映射序列化为 JSON 但保持数组上定义的顺序 这里有一个示例代码 http play golang org p A52GTDY6Wx http play g
  • MSBuild 未从导入的项目运行 BuildDependsOn 任务

    我有一个导入的 MSBuild 项目 appconfig transformation targets 它定义了一些任务并将它们放入 BuildDependsOn 属性中 我已将此文件放置在解决方案的顶级文件夹中 Projects Libr
  • 单击不同的按钮将不同的 HTML 加载到相同的 #Content DIV 中

    我有一个包含多个选项的菜单 我想知道如何将不同的 HTML 加载到相同的菜单中div 称为 content 取决于您按下的菜单按钮 我有这个菜单代码 div ul li a href Accueil a li li a href Qui s
  • 使用 t-sne 可视化从 gensim 生成的 word2vec

    我使用 gensim 在我自己的语料库上训练了 doc2vec 和相应的 word2vec 我想使用 t sne 和单词来可视化 word2vec 如图所示 图中的每个点也带有 单词 我在这里看了一个类似的问题 word2vec 上的 t
  • Windows 7 中将包含哪个 .NET 框架版本? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 有谁知道微
  • 如何从本地运行的 Spark Shell 连接到 Spark EMR

    我已经创建了一个 Spark EMR 集群 我想在本地主机或 EMR 集群上执行作业 假设我在本地计算机上运行 Spark shell 如何告诉它连接到 Spark EMR 集群 确切的配置选项和 或要运行的命令是什么 看起来其他人在这方面
  • std::unique_ptr、删除器和 Win32 API

    在VC2012中 我想使用唯一指针和删除器在构造函数中创建互斥体 这样我就不需要创建析构函数来调用CloseHandle 我本以为这会起作用 struct foo std unique ptr
  • AJAX 请求之前单击按钮的客户端验证

    我正在使用 MVC 4 我希望能够验证表中行集合中的单行 以确保正确输入字段并通过验证 属性已正确应用于模型 例如 Required MaxLength 50 MinLength 5 public string Name get set 现
  • 生成HMAC SHA256签名Python

    尝试为 3Commas 生成 HMAC SHA256 签名 我使用与官方示例 https github com 3commas io 3commas official api docs blob master rest api md exa