VB文件IO遇到了问题!急!
来源:百度知道 编辑:UC知道 时间:2024/09/25 07:29:59
Private Sub SavePassword()
Dim size As Integer
Dim i As Integer
Dim p() As Long
Dim filename As String
filename = App.Path + "\密码.txt"
size = Len(Text1.Text)
ReDim p(size)
For i = 1 To size
p(i) = Asc(Mid(Text1.Text, i, 1))
Next i
Open filename For Binary As #1
Put #1, 1, p
Close #1
End Sub
上面是保存密码的代码,没有问题。可是下面的获取密码的函数就有问题了,请看(函数有两个版本):
Private Function GetPassword() As String
Dim size As Integer
Dim i As Integer
Dim p() As Integer
Dim SResult As String
SResult = ""
size = FileLen(App.Path + "\密码.txt")
ReDim p(size)
Dim filename As String
filename = App.Path + "\密码.txt"
Open filename For Binary Access Read As #1
Get #1, 1, p
Close #
if p(i)<>0 then SResult = SResult + Chr(p(i))
'给你另外写了个,比你原先做的可能会好点
Function GetPassWord() As String '解密
Dim strPW As String
filename = App.Path + "\密码.txt"
Open filename For Input As #1
Input #1, x
Close #1
ReDim p(Len(x) / 2, 2)
For i = 1 To Len(x) Step 2
GetPassWord= GetPassWord & Chr(Asc(Mid(x, i, 1)) Xor Asc(Mid(x, i + 1, 1)))
Next i
End Function
Sub PutPassWord(x As String) '加密
Dim strKey As String
Dim i As Integer
Dim p() As String
Dim strRel As String
Randomize
ReDim p(Len(x), 2)
For i = 1 To Len(x)
p(i, 0) = Mid(x, i, 1): p(i, 1) = Chr(Int(Rnd * 26 + 48))
strRel = strRel & Chr(Asc(p(i, 0)) Xor Asc(p(i, 1))) & p(i, 1)
Next i
filename =App.Path + "\密码.txt"