@dataclass(frozen=True)
class KeyPair:
private_key: Ed25519PrivateKey
public_key: Ed25519PublicKey
@classmethod
def generate(cls) -> KeyPair:
private_key = Ed25519PrivateKey.generate()
return cls(private_key=private_key, public_key=private_key.public_key())
def public_hex(self) -> str:
raw = self.public_key.public_bytes(
encoding=serialization.Encoding.Raw,
format=serialization.PublicFormat.Raw,
)
return raw.hex()
@dataclass(frozen=True)
class KeyPair:
private_key: Ed25519PrivateKey
public_key: Ed25519PublicKey
@classmethod
def generate(cls) -> KeyPair:
private_key = Ed25519PrivateKey.generate()
return cls(private_key=private_key, public_key=private_key.public_key())
def public_hex(self) -> str:
raw = self.public_key.public_bytes(
encoding=serialization.Encoding.Raw,
format=serialization.PublicFormat.Raw,
)
return raw.hex()