有没有办法在VB6中完全擦除字符串?

有没有办法在VB6中完全擦除字符串?,vb6,Vb6,我想从内存中删除密码、信用卡号码等机密字符串 在C#中,有一个名为SecureString的类 但是在VB6中,我没有找到任何解决方案 有没有办法将字符串从内存中完全删除?一个安全字符串在静止时被加密,这不仅仅是提供一种防止它留在内存中的方法 有没有办法将字符串从内存中完全删除 是的,您需要原位修改字符串并覆盖其内容 您可以在LHS模式下使用mid$()执行此操作: Dim i As Long For i = 1 To Len(secret) Mid$(secret, i, 1) = "

我想从内存中删除密码、信用卡号码等机密字符串

在C#中,有一个名为SecureString的类

但是在VB6中,我没有找到任何解决方案


有没有办法将字符串从内存中完全删除?

一个
安全字符串
在静止时被加密,这不仅仅是提供一种防止它留在内存中的方法

有没有办法将字符串从内存中完全删除

是的,您需要原位修改字符串并覆盖其内容

您可以在LHS模式下使用
mid$()
执行此操作:

Dim i As Long
For i = 1 To Len(secret)
    Mid$(secret, i, 1) = "0"
Next
或者使用
ZeroMemory
CopyMemory
API:

ZeroMemory ByVal StrPtr(secret), LenB(secret)
...
CopyMemory ByVal StrPtr(secret), ByVal StrPtr(String$(Len(secret), "0")), LenB(secret)
对于加密,您可以实现(这是
SecureString
的基础)