运行报错No matching constructor for initialization of ‘AES::Encryption‘你们遇到过么?

本文主要是介绍运行报错No matching constructor for initialization of ‘AES::Encryption‘你们遇到过么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两天在搞android 的调用JNI这块,想把本地的加密搞到.so文件里面,这样反编译的成本会高一些,安全性相对来说高一些。不过研究到一半卡住了,这个领域不太熟悉。

这个错误 "no matching constructor for initialization of 'AES::Decryption'" 通常是指尝试使用 AES::Decryption 类时,提供的参数与该类所期望的构造函数参数不匹配。在 Crypto++ 库中,AES::Decryption 不是一个直接可用的类;

话多说直接上代码,由于之前的学的C语言已经忘得不行了

#include <cryptopp/aes.h>
#include <cryptopp/modes.h>
#include <cryptopp/filters.h>
#include <iostream>
#include <string>int main()
{try {// 密钥和初始化向量(IV)byte key[CryptoPP::AES::DEFAULT_KEYLENGTH], iv[CryptoPP::AES::BLOCKSIZE];memset(key, 0x00, CryptoPP::AES::DEFAULT_KEYLENGTH); // 填充密钥memset(iv, 0x00, CryptoPP::AES::BLOCKSIZE);          // 填充IV// 创建AES加密对象CryptoPP::CBC_Mode< CryptoPP::AES >::Encryption aesEncryption(key, sizeof(key), iv);// 原始数据std::string plaintext = "This is a test message.";// 缓冲区来存储加密后的数据std::string ciphertext;ciphertext.resize(plaintext.length() + aesEncryption.TransformationBlockSize());// 执行加密CryptoPP::StringSource ss(plaintext, true,new CryptoPP::StreamTransformationFilter(aesEncryption,new CryptoPP::StringSink(ciphertext)) // StreamTransformationFilter); // StringSource// 输出加密后的数据std::cout << "Encrypted: " << ciphertext << std::endl;}catch (const CryptoPP::Exception& e) {std::cerr << e.what() << std::endl;}return 0;
}

这段代码看起来人畜无害的样子,但是就是跑不起来,就这把等我再研究研究,有了解这块的给个回答,解惑一下。

这篇关于运行报错No matching constructor for initialization of ‘AES::Encryption‘你们遇到过么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794618

相关文章

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --