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