我正在尝试对一些 RSA 加密数据进行 base64 编码,但 RSA 加密返回一个元组,而 base64 编码需要一个类似字节的对象。
文件“C:\PATH\AppData\Local\Continuum\anaconda3\lib\base64.py”,第 58 行,b64encode 编码 = binascii.b2a_base64(s, newline=False)
类型错误:需要一个类似字节的对象,而不是“元组”
我正在寻找解决此问题的最佳方法的建议。
from Crypto.Cipher import AES
from Crypto.PublicKey import RSA
def rsa_encrypt(data):
return pub_keyObj.encrypt(data, 32)
def rsa_encrypt_base64(data):
return base64.standard_b64encode(rsa_encrypt(data))
encrypted_data = aes_encode(data, key, iv) #AES encoding is working fine
print("EncryptedString: ", rsa_encrypt_base64(encrypted_data))
Run Code Online (Sandbox Code Playgroud) 如何使用这个功能。
int mbedtls_pk_verify(mbedtls_pk_context * ctx, mbedtls_md_type_t md_alg, const unsigned char * hash, size_t hash_len, const unsigned char * sig, size_t sig_len)
Run Code Online (Sandbox Code Playgroud)
那么通过调用这样的函数mbedtls_pk_verify(&public_key_context, MBEDTLS_MD_SHA1, md, sizeof(md), signature, signature_lenght)我应该如何初始化 md 以及我如何知道它是什么?
如何获得一个输出,告诉我我56在这个数组中有元素.
static uint16_t test[200] =
{
50, 32, 1, 5, 23, 5, 7, 56, 754, 6,
243, 23, 5, 5, 6, 35, 35, 67, 3, 5324,
51, 24, 23, 4, 2346, 54, 45, 345, 32, 4,
234, 12, 5, 43, 656, 37, 563, 6, 542, 543,
52, 35, 342, 673, 3, 6, 54, 624, 3, 545,
2, 345, 2435, 24, 6, 54
};
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的东西,如果它不是静态的,并且没有设置最大元素的数量.喜欢
int count = 0;
uint16_t *p;
for(p = test; p < &test + 1; …Run Code Online (Sandbox Code Playgroud)