yeying.client.tool package

Subpackages

Submodules

yeying.client.tool.authenticate module

class yeying.client.tool.authenticate.Authenticate(block_address: BlockAddress)

Bases: object

create_header(body=None)
get_did()
sign_data(data: bytes)
verify_header(header, body=None)
yeying.client.tool.authenticate.verify_data(did: str, data: bytes, signature: str)

yeying.client.tool.crypto_service module

class yeying.client.tool.crypto_service.AssetCipher(block_address: BlockAddress, security_algorithm: SecurityAlgorithm)

Bases: object

提供资产加密和解密功能

decrypt(data: bytes) bytes

解密数据

encrypt(data: bytes) bytes

加密数据

class yeying.client.tool.crypto_service.CipherTypeEnum(*values)

Bases: Enum

CIPHER_TYPE_AES_GCM_256 = 1
CIPHER_TYPE_UNKNOWN = 0
exception yeying.client.tool.crypto_service.InvalidPassword

Bases: Exception

无效密码异常

yeying.client.tool.crypto_service.convert_to_algorithm_name(cipher_type: CipherTypeEnum) str

将密码类型转换为算法名称

yeying.client.tool.crypto_service.decode_base64(data: str) bytes

Base64解码

yeying.client.tool.crypto_service.decrypt(key: bytes, data: bytes, iv: bytes, algorithm: str = 'AES-GCM') bytes

使用AES-GCM解密数据

yeying.client.tool.crypto_service.derive_from_block_address(block_address: BlockAddress) bytes

使用私钥和公钥通过ECDH派生密钥

yeying.client.tool.crypto_service.encrypt(key: bytes, data: bytes, iv: bytes, algorithm: str = 'AES-GCM') bytes

使用AES-GCM加密数据

yeying.client.tool.crypto_service.trim_left(s: str, trim_str: str) str

yeying.client.tool.identity_service module

yeying.client.tool.identity_service.compute_hash(content: bytes) bytes

计算 SHA-256 哈希值

yeying.client.tool.identity_service.convert_cipher_type_from(type_str: str) <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fca5bce7d70>
yeying.client.tool.identity_service.convert_to_algorithm_name(cipher_type: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fca5bce7d70>) str

将加密类型枚举转换为对应的算法名称

Parameters:

cipher_type – 加密类型枚举值

Returns:

对应的算法名称字符串

yeying.client.tool.identity_service.decrypt(name: str, key: bytes, iv: bytes, content: bytes) bytes
yeying.client.tool.identity_service.decrypt_block_address(block_address: str, security_algorithm: SecurityAlgorithm, password: str) BlockAddress
yeying.client.tool.identity_service.derive_raw_key_from_string(algorithm_name: str, password: str) bytes

从字符串派生原始密钥 注意:Python 中通常直接返回密钥字节,而不是密钥对象

yeying.client.tool.identity_service.load(identity_str) Identity

Module contents