如何加密源代码中的字符串和文件?
Visual Studio Code 的 StringEncrypt 扩展
我想向大家介绍一下我的 Visual Studio Code 扩展程序——StringEncrypt。上周我一直在努力让它正常运行,并且非常享受探索 Visual Studio Code 生态系统及其扩展 API 的过程。
Visual Studio Code 的 StringEncrypt 扩展
借助多态引擎,以安全加密的形式加密并隐藏源代码中的纯文本字符串和文件内容,每次都会生成随机的解密代码。
https://marketplace.visualstudio.com/items?itemName=PELock.stringencrypt
它有什么作用?
它可以把你的纯文本字符串或文件内容变成一团乱码。看看吧。
前:
var superSecretPhrase = "Easy string encryption for developers!";
StringEncrypt 之后:
// encrypted with https://www.stringencrypt.com (v1.4.0) [JavaScript]
// superSecretPhrase = "Easy string encryption for developers!"
var superSecretPhrase = "</span>uBF59</span>uC4DE</span>uE963</span>uF128</span>uE48D</span>u0172</span>u0917</span>uF2DC" +
"</span>uFB41</span>u0A66</span>u0BCB</span>u1CF0</span>u1C95</span>u23BA</span>u2B5F</span>u3A44" +
"</span>u5929</span>u430E</span>u6953</span>u5378</span>u623D</span>u63A2</span>u74E7</span>u74AC" +
"</span>u8251</span>u8A37</span>u943C</span>u94C1</span>u9CE6</span>u830B</span>uACF0</span>uB3D5" +
"</span>uC23A</span>uCA5F</span>uCC44</span>uDA69</span>uBB0E</span>uEDD3";
for (var rOnpR = 0, FiuqR = 0; rOnpR < 38; rOnpR++)
{
FiuqR = superSecretPhrase.charCodeAt(rOnpR);
FiuqR -= rOnpR;
FiuqR ^= 0xFFFF;
FiuqR += 0x82A3;
FiuqR = ((FiuqR << 5) | ( (FiuqR & 0xFFFF) >> 11)) & 0xFFFF;
FiuqR += 0xE87C;
FiuqR += rOnpR;
FiuqR -= 0x7CB9;
FiuqR = (((FiuqR & 0xFFFF) >> 7) | (FiuqR << 9)) & 0xFFFF;
FiuqR ^= 0x4928;
FiuqR += rOnpR;
FiuqR --;
FiuqR ^= 0xFC14;
FiuqR -= 0x406C;
FiuqR = (((FiuqR & 0xFFFF) >> 3) | (FiuqR << 13)) & 0xFFFF;
superSecretPhrase = superSecretPhrase.substr(0, rOnpR) + String.fromCharCode(FiuqR & 0xFFFF) + superSecretPhrase.substr(rOnpR + 1);
}
如何在 Visual Studio Code 中使用它?
StringEncrypt 可通过右键单击活动编辑器窗口激活上下文菜单来提供。
1. 插入加密字符串
- 在当前编辑器窗口中打开右键菜单
- 单击“插入加密字符串”
- 对话框会要求您输入字符串标签,例如encryptedStringLabel
- 第二个对话框会要求您输入要加密的字符串,例如“Hello, world!”(输入时不要带引号)。
注意:在演示模式下,标签和加密字符串的长度最多只能为 6 个字符。
2. 加密选定字符串
- 在当前编辑器窗口中选择任意文本(建议另起一行输入)。
- 在当前编辑器窗口中打开右键菜单
- 单击“加密所选字符串”
- 对话框会要求您输入字符串标签,例如encryptedStringLabel
注意:只有当您在当前编辑器窗口中选择一个字符串时,才会显示此菜单选项。
3. 插入加密文件
- 在当前编辑器窗口中打开右键菜单
- 点击“插入加密文件”
- 对话框将要求您选择要加密的文件(可以是二进制文件或文本文件)。
- 第二个对话框会要求您输入字符串标签,例如encryptedStringLabel。
注意:此选项仅在完整版中可用。
欢迎来到多态加密的世界!
别再用简单的xor加密方式了!StringEncrypt 配备了独特的加密引擎。
它是一种多态加密引擎,类似于软件保护解决方案和高级计算机病毒使用的加密方法。
它是如何运作的?
让我解释一下多态加密过程是如何工作的。
- 选择一组随机加密命令(
xor,,,,,等)。additionsubtractionbit rotationsbit shiftslogical negation encryption keys随机生成一组助手。- 输入字符串的每个字节都使用随机集中的每个加密命令进行加密。
- 使用与加密命令相反的一组命令,生成所选编程语言的解密代码。
关于多态引擎的更多信息:
- 如何在 C++ 中构建多态引擎 - https://www.pelock.com/articles/polymorphic-encryption-algorithms
- 32 位 MASM 汇编器中的多态引擎 - https://github.com/PELock/Simple-Polymorphic-Engine-SPE32
- Poly Polymorphic Engine - https://www.pelock.com/products/poly-polymorphic-engine
这是什么意思?
每次对内容应用 StringEncrypt 加密时,加密后的内容都会有所不同。
算法始终是唯一的,加密密钥始终是随机选择的,每次使用我们的加密技术时,解密代码也是唯一的。
特征
- 开箱即用地支持
UNICODE(语言中的 WideChar 类型C/C++)、UTF-8(多字节)和ANSI(单字节)字符串编码 - 可配置的加密命令的最小和最大数量
- 存储加密字符串的不同方法(如果所选编程语言支持,则以字符串
global或变量的形式存储)。local - 支持多种编程语言
WebAPI您可以使用我们的界面在构建过程中自动执行加密过程。
支持的编程语言
StringEncrypt引擎支持以下编程语言的代码生成:
- C 和 C++
- C#(.NET 版 C Sharp)
- Visual Basic .NET (VB.NET)
- Delphi / Pascal
- Java
- JavaScript
- Python
- 红宝石
- AutoIt
- PowerShell
- 哈斯克尔
- MASM汇编器
- FASM汇编器
注意:Visual Studio Code可能默认不支持某些列出的语言,您可能需要先安装扩展程序才能支持它(例如 Python),但您始终可以使用我们的在线界面来加密字符串。
现有版本
可以使用 StringEncrypt:
- 直接在其网站上 - https://www.stringencrypt.com/
- 您可以下载独立的 Windows 客户端 - https://www.stringencrypt.com/download/
- 您可以通过 WebAPI 接口(来自
PHP&Python)使用它 - https://www.stringencrypt.com/api/ - 现在也推出了 Visual Studio Code 扩展程序 - https://marketplace.visualstudio.com/items?itemName=PELock.stringencrypt
扩展设置
您可以在扩展程序的设置页面中微调加密设置。
免费试用版限制
免费试用版有一些限制。
| 特征 | 演示版 | 完整版 |
|---|---|---|
| 字符串加密 | ✅ | ✅ |
| 文件加密(文本或二进制文件) | ❌ | ✅ |
| 最大标签长度(字符) | 10 |
64 |
| 字符串最大长度(字符) | 10 |
4096 |
| 最大文件长度(字节) | — | 4 MB |
| 加密命令的最小数量 | 3 |
50 |
| 加密命令的最大数量 | 3 |
50 |
购买激活码
为了解除限制并支持我们的项目及其开发,您需要购买激活码,购买链接如下:
https://www.stringencrypt.com/buy/
您可以在扩展程序设置页面输入激活码。每个激活码都对应一定数量的使用次数。您可以在账户余额允许的范围内多次使用完整版软件。
如何获得免费激活码?
如果您能在以下位置推广 StringEncrypt 服务并附上项目网站https://www.stringencrypt.com/的链接,即可获得免费激活码(500 使用积分):
- 编程论坛
- 编程博客
- 技术文章
- 推特/脸书/其他社交媒体网站
- ……或任何其他与编程和开发相关的网站
请将所有详细信息发送到我的联系邮箱,如果信息属实——恭喜!你就获得一个免费代码了 :)
dev.to 读者可获得免费激活码
由于这是首次发布,我想与 dev.to 的读者分享这个免费激活码:
E23B-FACD-1040-3833
它有1234使用积分,赶紧用掉吧,别让别人抢先了 :)


