如何使用 openssl 在 PHP 中加密数据并在 C++ 中解密?
编辑:我让它有点工作,但现在我有一个问题,它出于某种原因在控制台中输出更多的字符。
代码
openssl_encrypt("testtest", "AES-256-CBC", "01234567890123456789012345678901", 0, "0123456789012345");
Run Code Online (Sandbox Code Playgroud)
代码
int main() {
/* A 256 bit key */
unsigned char* key = (unsigned char*)"01234567890123456789012345678901";
/* A 128 bit IV */
unsigned char* iv = (unsigned char*)"0123456789012345";
std::vector<byte> data = base64_decode("2fd9RV8QVVUAR2n5WLjiSA==");
byte* ciphertext = new byte[data.size()];
for (size_t i = 0; i < data.size(); i++)
{
ciphertext[i] = data.at(i);
}
byte decryptedtext[128];
int decryptedtext_len;
decryptedtext_len = decrypt(ciphertext, data.size(), key, iv, decryptedtext);
std::cout << decryptedtext;
return …Run Code Online (Sandbox Code Playgroud)