严格的DER签名编码/解码。

bip66的Python项目详细描述


严格的DER签名编码/解码。

bip66

  • 此模块仅适用于two's complement数字
  • BIP66不检查rs是否完全有效。
    • check/decode不会检查rs是否大于33字节,或者这个数字是否表示椭圆曲线上的有效点。
    • encode不检查r/s是否表示椭圆曲线上的有效点

示例

importbip66r="29db2d5f4e1dcc04e19266cce3cb135865784c62ab653b307f0e0bb744f5c2aa"s="00a97f5826912cac8b44d9f577a26f169a2f8db781f2ddb7de2bc886e93b6844"encoded=bip66.encode(binascii.unhexlify(r),binascii.unhexlify(s))signature=binascii.hexlify(encoded).decode()# > 00a97f5826912cac8b44d9f577a26f169a2f8db781f2ddb7de2bc886e93b6844DER="3044022029db2d5f4e1dcc04e19266cce3cb135865784c62ab653b307f0e0bb" \
      "744f5c2aa022000a97f5826912cac8b44d9f577a26f169a2f8db781f2ddb7de2bc886e93b6844"r,s=bip66.decode(binascii.unhexlify(DER))print(binascii.hexlify(r).decode())print(binascii.hexlify(s).decode())# > 29db2d5f4e1dcc04e19266cce3cb135865784c62ab653b307f0e0bb744f5c2aa# > 00a97f5826912cac8b44d9f577a26f169a2f8db781f2ddb7de2bc886e93b6844

全捕获异常正则表达式:

/ExpectedDER(integer|sequence)|(R|S)value(excessivelypadded|isnegative)|(R|S|DERsequence)lengthis(zero|tooshort|toolong|invalid)/

许可证MIT

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用