📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "加密之星 V1.0"
ClientHeight = 7335
ClientLeft = 45
ClientTop = 330
ClientWidth = 4935
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 7335
ScaleWidth = 4935
StartUpPosition = 2 '屏幕中心
Begin VB.CheckBox Check1
Caption = "使用密码"
Height = 495
Left = 3600
TabIndex = 11
Top = 3600
Value = 1 'Checked
Width = 1215
End
Begin VB.TextBox Text1
BackColor = &H00FFFFFF&
Enabled = 0 'False
ForeColor = &H00000000&
Height = 2580
Left = 120
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 10
Text = "Form1.frx":628A
Top = 4120
Width = 4695
End
Begin VB.CommandButton Command4
Caption = "帮 助"
Height = 375
Left = 2600
TabIndex = 9
Top = 6840
Width = 855
End
Begin VB.CommandButton Command3
Caption = "解 密"
Height = 375
Left = 1480
TabIndex = 8
Top = 6840
Width = 855
End
Begin VB.CheckBox Check2
Caption = "使用密码"
Height = 375
Left = 1680
TabIndex = 7
Top = 9120
Value = 1 'Checked
Visible = 0 'False
Width = 1335
End
Begin VB.TextBox Text2
BackColor = &H00FFFFFF&
Height = 375
IMEMode = 3 'DISABLE
Left = 1440
PasswordChar = "*"
TabIndex = 5
Top = 3668
Width = 2055
End
Begin VB.CommandButton Command2
Caption = "退 出"
Height = 375
Left = 3720
TabIndex = 4
Top = 6840
Width = 855
End
Begin VB.CommandButton Command1
Caption = "加 密"
Height = 375
Left = 360
TabIndex = 3
Top = 6840
Width = 855
End
Begin VB.FileListBox File1
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 1890
Left = 2640
Pattern = "*.txt"
TabIndex = 2
Top = 1680
Width = 2175
End
Begin VB.DirListBox Dir1
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 1560
Left = 120
TabIndex = 1
Top = 2040
Width = 2415
End
Begin VB.DriveListBox Drive1
Appearance = 0 'Flat
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 300
Left = 120
TabIndex = 0
Top = 1680
Width = 2415
End
Begin VB.Image Image1
Height = 1455
Left = 0
Picture = "Form1.frx":6291
Top = 0
Width = 4965
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "请输入密码:"
ForeColor = &H00000000&
Height = 180
Left = 360
TabIndex = 6
Top = 3765
Width = 1080
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim i As Long
Dim databuff() As Byte '定义数组用于存放文件内容
Dim addbuff() As Byte '定义数组用于存放加密后的文件内容
Dim password() As Byte '定义数组用于存放密码的ASCII码
Dim filename As String
Private Sub check1_click()
If Check1.Value Then
Text2.Visible = True
Text2.Enabled = True
Label1.Visible = True
Label1.Enabled = True
Else
'Text2.Visible = False
Text2.Enabled = False
'Label1.Visible = False
Label1.Enabled = False
End If
End Sub
Private Sub check2_click()
' If Check1.Value Then '控制是否显示全部文件
' File1.Pattern = "*.*"
' Else
' File1.Pattern = "*.txt"
' End If
End Sub
Private Sub Command1_Click()
If Check1.Value And Text2.Text = "" Then
MsgBox "请务必输入密码,以免他人随意修改,谢谢!", vbOKOnly + 64, "消息"
End If
On Error GoTo B:
Dim password_len As Integer
password_len = Len(Text2.Text)
ReDim password(password_len) As Byte
For i = 0 To password_len - 1 '把密码转化为ASCII码
password(i) = Asc(Mid(Text2.Text, i + 1, 1))
Next
If filename = "" Or Text1.Text = "" Then Exit Sub
Open filename For Binary As #1 '读取要加密的文件内容
ReDim databuff(LOF(1))
Get #1, , databuff
Close #1
ReDim addbuff(UBound(databuff)) As Byte
For i = 0 To UBound(databuff)
If Check2.Value = 1 Then
addbuff(i) = databuff(i) Xor password((i Mod password_len) + 1)
Else
addbuff(i) = Not databuff(i)
End If
Next
Open filename For Binary As #1 '把加密后的内容写入文件
Put #1, , addbuff
Close #1
Text1 = StrConv(addbuff, vbUnicode) '显示加密后的文件内容
Text2.Text = ""
B:
End Sub
Private Sub command2_click()
End
End Sub
Private Sub Command3_Click()
If Check1.Value And Text2.Text = "" Then
MsgBox "请输入上一次的密码,以便恢复文件", vbOKOnly + 64, "消息"
End If
On Error GoTo A:
Dim password_len As Integer
password_len = Len(Text2.Text)
ReDim password(password_len) As Byte
For i = 0 To password_len - 1 '把密码转化为ASCII码
password(i) = Asc(Mid(Text2.Text, i + 1, 1))
Next
If filename = "" Or Text1.Text = "" Then Exit Sub
Open filename For Binary As #1 '读取要加密的文件内容
ReDim databuff(LOF(1))
Get #1, , databuff
Close #1
ReDim addbuff(UBound(databuff)) As Byte
For i = 0 To UBound(databuff)
If Check2.Value = 1 Then
addbuff(i) = databuff(i) Xor password((i Mod password_len) + 1)
Else
addbuff(i) = Not databuff(i)
End If
Next
Open filename For Binary As #1 '把加密后的内容写入文件
Put #1, , addbuff
Close #1
Text1 = StrConv(addbuff, vbUnicode) '显示加密后的文件内容
Text2.Text = ""
A:
End Sub
Private Sub Command4_Click()
Form2.Show
End Sub
Private Sub dir1_change()
File1.Path = Dir1.Path
End Sub
Private Sub drive1_change()
On Error GoTo acc_err
Dir1.Path = Drive1.Drive
acc_err:
If Err Then MsgBox (Error(Err))
End Sub
Private Sub file1_click()
filename = Dir1.Path + "\" + File1.filename
If filename = "" Then Exit Sub
Open filename For Binary As #1
Text1.Text = Str(LOF(1)) & filename
ReDim databuff(LOF(1))
Get #1, , databuff
Text1 = StrConv(databuff, vbUnicode)
Close #1
End Sub
Private Sub Form_Load()
MsgBox "请先察看“帮助”来了解使用方法。" & vbCrLf & " " & vbCrLf & " By: S!U芝.ClumSY " & vbCrLf & " QQ: 284395223 ", 64, "欢迎使用"
'控制是否显示全部文件
File1.Pattern = "*.*"
File1.Pattern = "*.*"
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -