openssl下aes128算法CFB模式加解密运算实例
- 创业
- 2025-09-18 22:06:02

aes128算法CBC接口 加密接口 int openssl_aes128_encrypt_cfb(unsigned char *key,unsigned char *iv, unsigned char *in_buf, int in_len, unsigned char *out_buf,int* out_len) { EVP_CIPHER_CTX* ctx = NULL; ctx = EVP_CIPHER_CTX_new(); printf("%s %d\n", __func__, __LINE__); EVP_EncryptInit_ex(ctx, EVP_aes_128_cfb(), NULL, key, iv); EVP_CIPHER_CTX_set_padding(ctx, 0); if (!EVP_EncryptUpdate(ctx, out_buf, out_len, in_buf, in_len)) { EVP_CIPHER_CTX_free(ctx); return -1; } int tmplen = 0; if (!EVP_EncryptFinal_ex(ctx, out_buf + *out_len, &tmplen)) { EVP_CIPHER_CTX_free(ctx); return -2; } *out_len += tmplen; EVP_CIPHER_CTX_free(ctx); return 0; } 解密接口 int openssl_aes192_decrypt_cfb(unsigned char *key,unsigned char *iv, unsigned char *in_buf, int in_len, unsigned char *out_buf,int* out_len) { int ret = 0; EVP_CIPHER_CTX* ctx = NULL; ctx = EVP_CIPHER_CTX_new(); printf("%s %d\n", __func__, __LINE__); EVP_DecryptInit_ex(ctx, EVP_aes_192_cfb(), NULL, key, iv); if (!EVP_DecryptUpdate(ctx, out_buf, out_len, in_buf, in_len)) { EVP_CIPHER_CTX_free(ctx); return -1; } int tmplen = 0; ret = EVP_DecryptFinal_ex(ctx, out_buf + *out_len, &tmplen); if (ret) { // RSP_TRACE("%s EVP_DecryptFinal_ex error ret=%d\n", __func__, ret); EVP_CIPHER_CTX_free(ctx); return -2; } *out_len += tmplen; EVP_CIPHER_CTX_free(ctx); return 0; }
openssl下aes128算法CFB模式加解密运算实例由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“openssl下aes128算法CFB模式加解密运算实例”
下一篇
Git基本命令索引