From ae3d352f59764afdd986c6127378333b80d1f7c8 Mon Sep 17 00:00:00 2001 From: SheepChef Date: Wed, 30 Oct 2024 20:50:13 +0800 Subject: [PATCH 1/3] Fix a logic mistake when encrypting links. --- src/abracadabra.cpp | 23 ++++++++++++----------- src/abracadabra_linux.cpp | 21 ++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/abracadabra.cpp b/src/abracadabra.cpp index b3092f7..885c15f 100644 --- a/src/abracadabra.cpp +++ b/src/abracadabra.cpp @@ -424,6 +424,8 @@ string enMap(PreCheckResult input,bool forceLink,bool forceBase64,bool forceDire } } else if(q==1){ // 第二次大循环插入加密标志位 + + vector AvailPos; AvailPos.resize(max(PosToInset.size(),Avoid.size())); @@ -559,18 +561,17 @@ string GetLinkCryptedText(string text){//查表,检查是否有任何预配置 s1 = el.key(); if(s.find(s1) != string::npos){//找到关键词 el.value().get_to(CipherArray); - - //返回密本中的随机字符 - RandIndex = dist(mt_r) % CipherArray.size(); //随机获取一个下标 - int i = 0 ; - for (auto it : Map_Obj["link"][s1]){ - if (i == RandIndex){//找到下标 - s2 = (string)it; - break; - } - i++; - } while(s.find(s1) Date: Wed, 30 Oct 2024 21:26:41 +0800 Subject: [PATCH 2/3] Update Readme. --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9018c4d..1d9ab4a 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,8 @@ Abracadabra 还在积极开发中,这里是一些注意事项。 项目在 Windows 11 和 Ubuntu 22.04 LTS 上通过了编译测试。 +在嵌入式平台(armv7a, armv8a)上通过了运行测试。 + ### 已知问题 #### 处理文件耗时指数级增加 @@ -81,7 +83,7 @@ Abracadabra 还在积极开发中,这里是一些注意事项。 原则上不能以牺牲随机性为代价换取执行速度,且本项目之目的并不是将文件转换为上百万个汉字,故搁置该问题。 -小于 100kb 的文件均能在可控时间内得到处理。 +小于 100kb 的文件均能在可控时间内得到处理。 #### 密本随机性不足 @@ -97,6 +99,10 @@ Abracadabra 还在积极开发中,这里是一些注意事项。 - [cppcodec](https://github.com/tplgy/cppcodec) - [CLI11](https://github.com/CLIUtils/CLI11) +另外,请确保您的环境中安装了 C++11 标准库。 + +本项目并不复杂,推荐直接用指令调用 g++进行构建。如果您愿意,也可以尝试 CMake。 + ## 细节 ### 加密实现 From 69d507920c8f01b61778a7be7896b3a8cefd8cad Mon Sep 17 00:00:00 2001 From: SheepChef Date: Wed, 30 Oct 2024 21:27:37 +0800 Subject: [PATCH 3/3] Minor fix. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d9ab4a..3dfa708 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ Abracadabra 还在积极开发中,这里是一些注意事项。 另外,请确保您的环境中安装了 C++11 标准库。 -本项目并不复杂,推荐直接用指令调用 g++进行构建。如果您愿意,也可以尝试 CMake。 +本项目并不复杂,推荐直接用指令调用 g++ 进行构建。如果您愿意,也可以尝试 CMake。 ## 细节