2025-4-19 12:36:41 [显示全部楼层]
38浏览
查看: 38|回复: 2

[项目分享] 简易C++加解密工具,单文件,整体不开源

[复制链接]
本帖最后由 3ER4 于 2025-4-19 16:46 编辑

闲着没事写的,有一些加密方法求助了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, 下载次数: 0

3ER4  初级技师
 楼主|

发表于 昨天 16:48

关于我的代码缩进以及编译器

本帖最后由 3ER4 于 2025-4-19 16:55 编辑

这个是结合了不下于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进行自动排版。

实在要代码我会开源。
回复

使用道具 举报

3ER4  初级技师
 楼主|

发表于 昨天 18:08

DEV-C++自制版下载,有人要才发

本帖最后由 3ER4 于 2025-4-19 18:09 编辑

我有小熊猫DEV-C++6.5自制版,现在是支持C++23,MinGW14.2.0。要的话我发网盘。我把它的gcc版本互换了,支持的新版本特性更多,你自己配置还要花很久,有人要的话我才发
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail