1
22
您提供的链接显示了如何使用vb.net执行字符串加密和解密,从而使用.NET框架。 目前,Microsoft Office产品还不能使用 Visual Studio Tools for Applications 组件,它将使Office产品能够访问.NET框架的BCL(基类库),进而访问基础的Windows CSP(加密服务器提供程序),并为这些加密/解密功能提供一个很好的包装。 目前,办公产品仍停留在原有的VBA上。( Visual Basic for Applications )它基于Visual Basic的旧vb6(及更早版本)版本,而不是基于.NET框架。 由于所有这些原因,您要么需要调用win32 api来访问csp函数,要么必须在纯vb6/vba代码中“滚动自己的”加密方法,尽管这样可能不太安全。这完全取决于您希望加密的“安全性”。 如果要“滚动自己的”基本字符串加密/解密例程,请查看以下链接以开始:
Encrypt a String Easily
如果要访问Win32 API并使用基础Windows CSP(一个更安全的选项),请参阅以下链接以获取有关如何实现此目的的详细信息:
How to encrypt a string in Visual Basic 6.0
最后一个链接可能是您想要的,包括一个完整的VBA类模块来“包装”Windows CSP函数。 |
2
3
创建一个名为clscifrado的类模块:
现在您可以在代码中使用它: 密码
解密码
|
3
1
您可以通过任何shell脚本调用pipe excel单元数据。 安装GPL BERT( http://bert-toolkit.com/ )Excel的R语言接口。 在Excel中使用下面的r脚本将单元数据传输到bash/perl/gpg/openssl。
在Excel中,您可以尝试:c1=密码(a1,a2)和c2=解密(c1,a2) 可选:putclip将解密的文本保存在剪贴板中。 这两种函数类型都是:string->string。 在单引号字符串中转义单引号的常见注意事项。 |
4
0
下面是一个基本的符号加密/解密示例:
请注意,如果给定的输入字符串长于密码,则此操作将失败。这只是一个开始学习的例子。 |
5
0
此代码对我很好(3DES加密/解密): 我将初始化向量和三重密钥存储为环境变量(明显不同于此处发布的值),并使用vba environ()函数获取它们,因此vba代码中的所有敏感数据(密码)都会加密。
源代码取自此处: https://gist.github.com/motoraku/97ad730891e59159d86c 注意原始代码和我的代码之间的区别,这是附加选项 encryption_object.padding=3 迫使vba 不 进行填充。当填充选项设置为3时,与DESIEDE3O-CBCycLyPT算法的C++实现完全一样,结果与此结果一致。 online tool . |
6
0
此代码在VBA中工作良好,可以轻松地移到VB.NET避免处理非“正常”字符。您可以用allowedchars决定允许哪些字符。
|