Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 考虑到';什么是班级类型?_Python_Class_Cryptography_Elliptic Curve_Diffie Hellman - Fatal编程技术网

Python 考虑到';什么是班级类型?

Python 考虑到';什么是班级类型?,python,class,cryptography,elliptic-curve,diffie-hellman,Python,Class,Cryptography,Elliptic Curve,Diffie Hellman,我正在使用加密python库生成一个密钥对,使用椭圆曲线(),以便稍后与设备执行Diffie-Hellman密钥交换 我注意到我得到的公钥是class类型的,更准确地说,是一个EllipticCurvePublicKey类 我无法将它打印到终端,当我这样做时,它显然会打印它的地址。但我需要通过缓冲区将其发送到USB设备,那么我如何实际使用它呢 复制粘贴以下代码以供参考: 密钥生成: private_key = ec.generate_private_key(ec.SECP256R1()) pub

我正在使用加密python库生成一个密钥对,使用椭圆曲线(),以便稍后与设备执行Diffie-Hellman密钥交换

我注意到我得到的公钥是class类型的,更准确地说,是一个EllipticCurvePublicKey类

我无法将它打印到终端,当我这样做时,它显然会打印它的地址。但我需要通过缓冲区将其发送到USB设备,那么我如何实际使用它呢

复制粘贴以下代码以供参考:

密钥生成:

private_key = ec.generate_private_key(ec.SECP256R1())
public_key = private_key.public_key()
加密库中的类和方法:

@six.add_metaclass(abc.ABCMeta)
class EllipticCurvePrivateKey(object):
    @abc.abstractmethod
    def signer(self, signature_algorithm):

    @abc.abstractmethod
    def exchange(self, algorithm, peer_public_key):

    @abc.abstractmethod
    def public_key(self):

    """
    The EllipticCurvePublicKey for this private key.
    """
    

要获取密钥对象并将其转换为字节,请使用。要从另一个方向,从字节到公钥对象,请使用。谢谢!我发现我需要像你说的那样把它转换成字节,然后进一步解码(从pem到der再到公钥)。