草庐IT

EVP_CIPHER_CTX_init

全部标签

C++使用openssl的EVP对文件进行AES-256-CBC加解密

1、背景  有项目需求,有对文件进行加密的功能,经过评估,最终决定使用AES-256-CBC加密。在C++中要实现这种加密有很多中方式和第三方库,由于运行环境的限制,可选择的库不多,最终决定使用openssl来进行。  关于AES加密的相关知识直接百度就可以百度到了,这里就不赘述了。2、加密XuFile.h////Createdbyzhengqiuxuon2021/10/15.//#ifndefVIS_ADOS_I7_XUFILE_H#defineVIS_ADOS_I7_XUFILE_H#include#include#include#include#include#include#inclu

Java Servlets 覆盖 init(ServletConfig 配置)

我正在尝试覆盖init(ServletConfigconfig)方法。我的代码是:publicvoidinit(ServletConfigconfig)throwsServletException{ServletContextsc=getServletContext();//-----NullPointerException}这是给出NullPointerException。如果我将其修改为:publicvoidinit(ServletConfigconfig)throwsServletException{ServletContextsc=config.getServletContex

java - 为 Tomcat 7 配置 SSL 导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误

我按照以下步骤为Tomcat7设置SSL,从我的CA下载我的证书后,我:使用Javakeytool将根证书、中间证书和我的站点证书导入本地keystore。将tomcatserver.xml文件修改为(许多站点都有类似的配置):一切似乎都很好,直到我打开浏览器访问该站点并在Chrome中出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误,在Firefox中出现“无通用加密算法”错误。我花了几个小时但仍无法弄清楚问题是什么,并感谢那些可以阐明这个问题的人。更新keystoreFile修改为.pfx文件后可以正常使用,但是为什么按照javakeystore(.ke

java - 每条消息都需要 Cipher.init() 吗?

假设两个客户端正在来回交换安全消息。必须为每条消息每次都运行此block,或者任何步骤是否可以在开始时只执行一次:cipher=Cipher.getInstance("AES/CBC/PKCS5Padding");cipher.init(Cipher.ENCRYPT_MODE,keySpec);output=cipher.doFinal(content);我想借用一些上下文——虽然我(还)没有完全理解内部结构,但据我所知,出于安全目的,更改每条消息的IV很重要。所以我认为这个问题的答案将取决于该步骤是否发生在doFinal()阶段或init()阶段......?

java.lang.NoSuchMethodError : org. apache.http.protocol.BasicHttpContext: 方法 <init>()V 未找到

您好,我正在尝试建立一个小型网络应用程序,但我遇到了上述错误。下面是我的代码HttpClienthttpclient=newDefaultHttpClient();HttpPosthttppost=newHttpPost("SomeURL");//UsingaURLlocaltomymachine//aftersettingnameValuePairandsettingitonhttpposthttppost.setEntity(newUrlEncodedFormEntity(nvps,HTTP.UTF_8));//ThisiswhereIamgettingtheabovementio

java - <init> 和 (Native Method) 是什么意思?

关于java.io.FileStream.open方法,这些符号表示什么以及(Native方法)表示什么?Exceptioninthread"main"java.io.FileNotFoundException:line23(Nosuchfileordirectory)atjava.io.FileInputStream.open(NativeMethod)atjava.io.FileInputStream.(FileInputStream.java:135)atjava.io.FileInputStream.(FileInputStream.java:95)atjava.io.File

Java cipher.doFinal() 写入额外的字节

我正在使用JavaCipher和AES实现加密/解密。除了在调用doFinal()时多写了5个字节外,一切都运行良好。因此,我最终得到了一个正确解码的字符串,并附加了5个额外的字节。我认为原因是正在写入整个16字节block。我看到写入了3个16字节的block,包括最后一个。输入的加密文件为64字节。未加密的文本应为43个字节。doFinal的文档表明它可以返回写入输出缓冲区的字节数。但是,它是0,16,16,16。我已经尝试了各种形式的doFinal和更新,但行为没有任何变化。它写出一个完整的block在某种程度上是有道理的,因为大多数这些算法都是这样运行的。但是,如果它不告诉我输

java - netty 中的 ctx.write() 和 ctx.channel().write() 有什么区别?

我注意到ctx与处理程序不同,例如,即使这些处理程序位于同一管道中也是如此p.addLast("myHandler1",newMyHandler1());p.addLast("myHandler2",newMyHandler2());在MyHander1中@OverridepublicvoidchannelRead(ChannelHandlerContextctx,Objectmsg)throwsException{System.err.println("My1ctx:"+ctx+"channel:"+ctx.channel());super.channelRead(ctx,msg);

java - 创建自定义 Build init 类型 - 用于 Gradle Build Init 插件?

我是gradle的新手,我想使用GradleInit插件创建一个自定义类型。此外,我希望能够执行以下操作:gradleinit--typejsp-library这将生成一个项目目录,其结构与Java网络应用程序(网络应用程序、样式表等)相同。是的,我读过this,而且我知道只有有限数量的类型可用。我只想知道目前是否有人拥有或知道某种解决方法。 最佳答案 第3方插件允许您创建自定义模板并从模板生成新项目。例如,参见:https://github.com/townsfolk/gradle-templates使用maven从archety

openssl3.2 - 测试程序的学习 - error LNK2019: 无法解析的外部符号 evp_pkey_export_to_provider, evp_keymgmt_get_params

文章目录openssl3.2-测试程序的学习-errorLNK2019:无法解析的外部符号evp_pkey_export_to_provider,evp_keymgmt_get_params概述笔记备注ENDopenssl3.2-测试程序的学习-errorLNK2019:无法解析的外部符号evp_pkey_export_to_provider,evp_keymgmt_get_params概述openssl3.2-测试程序的学习在将test\algorithmid_test.c挪进openssl专用的测试工程,编译后,报错如下:1>正在生成代码...1>正在创建库D:\my_dev\my_loc