简易C++加解密工具,单文件,整体不开源

2025-04-192657
AI 快速预览详细 收起
这是一个简易的C++加解密工具,支持多种加密方法,包括SHA-3简化版和Argon2抗GPU暴力破解简化版。该工具适用于需要保护文件隐私的用户,确保文件安全且无法被暴力破解。通过弹出选择窗口进行操作,可以方便地对文件进行加密和解密。


闲着没事写的,有一些加密方法求助了ai,如argon2等,整体自己编的,整体不开源,应为作者信息怕被改导致问题。其中有些加密方法是自制的,也不排除已经有人使用
头文件:
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <string>
  5. #include <numeric>
  6. #include <algorithm>
  7. #include <random>
  8. #include <windows.h>
  9. #include <commdlg.h>
  10. #include <wincrypt.h>
  11. #include <array>
  12. #include <cmath>
  13. #include <shellapi.h>
  14. #include <shlobj.h>
  15. #include <map>
  16. #include <conio.h>
复制代码
由于SHA-3我没有他的头文件,只做了一个简化版
  1. vector<uint8_t> SHA3Hash(const vector<uint8_t>& input) {
  2.         constexpr size_t hashSize = 32;
  3.         vector<uint8_t> hash(hashSize, 0);
  4.         for (size_t i = 0; i < input.size(); ++i) {
  5.                 hash[i % hashSize] ^= input[i];
  6.                 hash[(i + 11) % hashSize] += input[i] * 3;
  7.                 hash[(i + 19) % hashSize] ^= (input[i] << 4) | (input[i] >> 4);
  8.         }
  9.         for (size_t i = 0; i < hashSize; ++i) {
  10.                 hash[i] = (hash[i] * 0x1F) ^ 0xA5;
  11.         }
  12.         return hash;
  13. }
复制代码
接下来是Argon2抗GPU暴力破解简化版(求助AI)
  1. vector<uint8_t> Argon2Derive(const string& key, const vector<uint8_t>& salt, int shift) {
  2.         constexpr size_t outputSize = 32;
  3.         vector<uint8_t> state(outputSize * 1024);
  4.         for (size_t i = 0; i < key.size(); ++i) {
  5.                 state[i % state.size()] ^= key[i];
  6.         }
  7.         for (size_t i = 0; i < salt.size(); ++i) {
  8.                 state[(i + key.size()) % state.size()] ^= salt[i];
  9.         }
  10.         for (int round = 0; round < 3; ++round) {
  11.                 for (size_t i = 0; i < state.size(); ++i) {
  12.                         size_t j = (i * 17 + round * 7) % state.size();
  13.                         state[i] = (state[i] + state[j] * 3 + round) % 256;
  14.                 }
  15.         }
  16.         vector<uint8_t> result(outputSize);
  17.         for (size_t i = 0; i < result.size(); ++i) {
  18.                 result[i] = state[(i * 19) % state.size()];
  19.                 result[i] = (result[i] + shift) % 256;
  20.         }
  21.         return result;
  22. }
复制代码
可以弹出选择窗口来进行选择,用来微信群蛐蛐人或只想让朋友看见的文件是绝对给力的。基本无法暴力破解,抗彩虹表。密钥文件没有这个程序也是无法查看的,拥有校验能力。拖入密钥文件自动解密需要解密的文件(需要把文件放入你朋友的加密目录下)只要双方都有这个程序就行,这个程序可以私发给对方
不是病毒,没有私钥!

加解密文件高级版.zip

372.83 KB, 下载次数: 2326

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
3ER4
3ER4
作者
我有小熊猫DEV-C++6.5自制版,现在是支持C++23,MinGW14.2.0。要的话我发网盘。我把它的gcc版本互换了,支持的新版本特性更多,你自己配置还要花很久,有人要的话我才发
3ER4
3ER4
作者
这个是结合了不下于5种算法的,异域,改版螺旋,SHA-2等等还有些缩进风格JAVA,编译工具DEV-C++6.5(编译器我手动加了一下改成了MinGW62-14.2.0支持C++23,要自己配置的话我会出教程)参数的话也是加了这个-std=c++23 -lws2_32 -lcomdlg32 -lwininet -lws2_32 -static。缩进尾是这个参数-A2 --indent=tab=4 --indent-classes --indent-switches --indent-namespaces --indent-preprocessor --pad-oper --pad-header 。
我整体代码最后按下ctrl+shift+a进行自动排版。
实在要代码我会开源。
- 没有更多了 -