加密高手关注!--文本文件的加密问题

iwzw 2002-09-30 11:18:33
搜索了一下,大家主要用两种方法对文本文件加密。
1.对文本文件的ASC码加减
2.用XOR函数

我发现都有问题举例
1.代码
Public Function nnnn(ByVal s As String) As String '解密
On Error Resume Next
Dim ss As String, i As Byte, lens As Byte
lens = Len(s)
For i = 1 To lens
ss = ss & Chr(Asc(Mid(s, i, 1)) - lens - i)
Next
nnnn = ss
End Function


Public Function mmmm(ByVal s As String) As String '加密
On Error Resume Next
Dim ss As String, i As Byte, lens As Byte
lens = Len(s)
For i = 1 To lens
ss = ss & Chr(Asc(Mid(s, i, 1)) + lens + 1)
Next
mmmm = ss
End Function
当文件中有“!~”时出错

2.
Public Function StringEnDeCodecn(strSource As String, MA) As String
'该函数只对中西文起到加密作用
'参数为:源文件,密码
On Error GoTo ErrEnDeCode
Dim X As Single
Dim CHARNUM As Long, RANDOMINTEGER As Integer
Dim SINGLECHAR As String * 1
Dim strTmp As String
If MA < 0 Then
MA = MA * (-1)
End If
X = Rnd(-MA)
For i = 1 To Len(strSource) Step 1 '取单字节内容
SINGLECHAR = Mid(strSource, i, 1)
CHARNUM = Asc(SINGLECHAR)
g: RANDOMINTEGER = Int(127 * Rnd)
If RANDOMINTEGER < 30 Or RANDOMINTEGER > 100 Then GoTo g
CHARNUM = CHARNUM Xor RANDOMINTEGER
strTmp = strTmp & Chr(CHARNUM)
Next i
StringEnDeCodecn = strTmp
Exit Function
ErrEnDeCode:
StringEnDeCodecn = ""
MsgBox Err.Number & "\" & Err.Description
End Function

密码MA不同,解密后的文件不相同,主要是不完整。


大家有何高见?
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
viperstorm 2002-10-01
  • 打赏
  • 举报
回复
将文本文件当作二进制文件看待来加密。
zyl910 2002-10-01
  • 打赏
  • 举报
回复
这是VB的UniCode字符串惹的祸
用Byte数组安全些


'读取
Dim TempFile As Long
Dim LoadBytes() As Byte

TempFile=FreeFile
Open 文件名 For Binary As #TempFile
Redim LoadBytes(1 To Lof(TempFile)) As Byte
Get #TempFile,,LoadBytes
Close TempFile


对LoadBytes进行加密



'保存
TempFile=FreeFile
Open 文件名 For Binary As #TempFile
Put #TempFile,,LoadBytes
Close TempFile
zyl910 2002-10-01
  • 打赏
  • 举报
回复
随便!

比如Xor

Dim I as long

For I=1 To UBound(LoadBytes)
LoadBytes(I)=LoadBytes(I) Xor &HFF
Next I
cgh1970 2002-10-01
  • 打赏
  • 举报
回复
up
iwzw 2002-10-01
  • 打赏
  • 举报
回复
zyl910(910:分儿,我来了!) ,如何对LoadBytes进行加密?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧