WINDOWS动态链接库(DLL)-文本加密和解密

本文介绍了在C和C++中使用OpenSSL库开发动态链接库(DLL)进行文本加密和解密的过程。背景是为了解决配置文件中敏感信息的安全问题。作者选择了DES加密算法,并探讨了动态生成KEY和IV的策略。开发了适用于C++和Python的DLL,并提供了调用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

想不到多年后,竟然又开始折腾起C和C++了,似乎又回到了当年的青春岁月。背景是在工作中经常有一些处理脚本,不可避免用到一些关键信息,比如数据库的连接账号,API调用的security key, 这些信息又会保存在配置文件中。而配置文件有个风险就是会被第三人打开,就有了一个想法,把这种字符串文本进行加密。

进而就又了一个,希望能够有一个基本的类库,可以供更多的开发语言使用。Python和C#各自都支持标准的加密算法,也测试可以互相加密和解密。但是如果扩展到更多,在windows平台,第一反应想到的是DLL。就只有重新拾起C/C++,经过一段时间的搜索和学习后,直接可靠的方法就是用OpenSSL的库进行开发。

加密和解密的开发

基本思路:

1. 选用DES,OpenSSL 3.0开始,有些Provider已经被移除,比如DES-CBC这些。

2. DES加密,也是需要KEY, 每次KEY是动态的,等于一次用完即销毁。

3. 正因为是动态一次的KEY,解密方不可能事先保存KEY,因此要对于KEY进行一个处理,包含在最终的加密结果。当然,对于KEY的处理就成为一个开放式问题,可以根据各自情况,进行不同复杂度的处理。当然,这个特制的处理算法被破解,那也没有什么安全可言。对于解释执行的开发语言,由反编译的风险。C/C++和Python的PYD是反编译到汇编级别,比较合适。

4. IV可以自己定义,内置在自己程序中。

基于上面的思路,用VS CODE+MINGW-W64开发了DLL。下面的链接库是一个最简单适用的链接库。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值