excel - 字符串加密/解密

标签 excel vba string encryption

我很感兴趣是否可以使用 Excel Visual Basic 和某些加密服务提供程序进行字符串加密/解密。

我找到了一个演练 Encrypting and Decrypting Strings in Visual Basic ,但它似乎仅对独立的 Visual Basic 有效。

那么您能否建议我使用另一种加密方法,或者演示一下如何将演练应用于 Excel Visual Basic?

最佳答案

您提供的链接展示了如何使用 VB.NET 以及 .NET Framework 执行字符串加密和解密。

目前,Microsoft Office 产品尚无法使用Visual Studio Tools for Applications该组件将使 Office 产品能够访问 .NET 框架的 BCL(基类库),进而访问底层 Windows CSP(加密服务器提供程序)并为这些加密/解密函数提供一个很好的包装器。

目前,Office 产品仍使用旧版 VBA ( Visual Basic for Applications ),该版本基于旧版 Visual Basic VB6(及更早版本),而 Visual Basic 又基于 COM,而不是 .NET Framework。

由于所有这些,您要么需要调用 Win32 API 来访问 CSP 函数,要么必须在纯 VB6/VBA 代码中“自行设计”加密方法,尽管这是可能不太安全。这完全取决于您希望加密的“安全”程度。

如果您想“自行开发”基本字符串加密/解密例程,请查看以下链接以开始使用:

Encrypt a String Easily
<罢工> Better XOR Encryption with a readable string

vb6 - encryption function
<罢工> Visual Basic 6 / VBA String Encryption/Decryption Function

如果您想访问 Win32 API 并使用底层 Windows CSP(一个更安全的选项),请参阅以下链接以获取有关如何实现此目的的详细信息:

<罢工> How to encrypt a string in Visual Basic 6.0

Access to CryptEncrypt (CryptoAPI/WinAPI) functions in VBA

最后一个链接可能是您想要的链接,它包含一个完整的 VBA 类模块来“包装”Windows CSP 函数。

关于excel - 字符串加密/解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470939/

相关文章:

通过 VBA/Excel 提取 HTML

vba - 访问数组中的字典VBA

Excel比较两列

java - 多任务: parse space-separated integers from a string

java - 如何计算以字符串形式给出的数学表达式?

excel - 如何禁用 Excel 在复制/粘贴后自动更改单元格引用?

Excel VBA : form control listbox with multi-columns -- how to populate from ADO recordset?

arrays - 我将一个数组传递给 'xlsx' 以获取一个 Excel 文件,但我得到了在每一行中解析的数组元素

excel - 大型数据集 VBA 的 For 循环崩溃

java - 我应该如何分隔以下三个字符串?