文件名称:aes_128加密算法
文件大小:8.48MB
文件格式:RAR
更新时间:2018-02-06 10:15:03
加密算法
unsigned char content[400]; unsigned char key[] = "123456789"; unsigned char en[400],de[400],base64[400], base64_out[400]; int len; memset(content, 0,400); memset(en, 0, 400); memset(de, 0, 400); memset(base64, 0,400); memset(base64_out, 0, 400); strcpy((char *)content, "whosyourdaddy!"); printf("%d %s\n", strlen((const char*)content), content); encrypt(content,strlen((const char*)content), en, &len, key); int encode_str_size = EVP_EncodeBlock(base64, en, len); printf("%d %s\n", encode_str_size, base64); int length = EVP_DecodeBlock(base64_out, base64, strlen((const char*)base64)); //EVP_DecodeBlock内部同样调用EVP_DecodeInit + EVP_DecodeUpdate + Evp_DecodeFinal实现,但是并未处理尾部的'='字符,因此结果字符串长度总是为3的倍数 while(base64[--encode_str_size] == '=') length--; decrypt(base64_out, length, de, key); printf("%d %s\n", strlen((const char*)de), de);