當前位置:首頁 » 文件管理 » vb文件夾加密

vb文件夾加密

發布時間: 2022-09-18 11:42:21

⑴ 怎麼用VB給文件夾加密

1、由於採用二進制讀取文件的方式,因此加密時一般可以不考慮文件類型。
2、這里只進行一次異或運算,如有需要可以進行多次異或運算。
3、此加密演算法速度快,當然加密強度也低 ;
參考代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

'-----------------------------------------------------------------------
'函數說明: 使用異或運算加密文件(可加密大部分文件)
'參數說明: key - 密鑰
' fileName - 普通文件名,
' encryptFileName - 加密後的文件名
'返回值: true - 成功,false - 失敗
'-----------------------------------------------------------------------
Private Function XOR_Encrypt(key As Integer, fileName As String, encryptFileName As String) As Boolean
On Error GoTo errHandler
Dim inputFileNo As Integer
Dim fileBytes() As Byte
Dim length As Long
XOR_Encrypt = False
'打開文件並保存在二進制數組中
inputFileNo = FreeFile
Open fileName For Binary As #inputFileNo
length = LOF(inputFileNo)
If length = 0 Then
MsgBox "退出加密:文件內容為空!", vbInformation, "提示"
Exit Function
End If
ReDim fileBytes(length - 1) As Byte
Get inputFileNo, , fileBytes()
Close #inputFileNo
'將該二進制數組進行異或加密
Dim i As Long
For i = LBound(fileBytes) To UBound(fileBytes)
fileBytes(i) = fileBytes(i) Xor key
Next
'將異或加密後的二進制數組保存在新的文件中
Dim outputFileNo As Integer
outputFileNo = FreeFile
Open encryptFileName For Binary As #outputFileNo
Put outputFileNo, , fileBytes
Close #outputFileNo
XOR_Encrypt = True

errHandler:
If Err.Number Then
MsgBox "加密過程中出錯:" & Err.Description, vbCritical, "錯誤"
XOR_Encrypt = False
Resume Next
End If
End Function

⑵ 用VB編寫程序怎樣給文件夾加密碼

加密原理:循環使用密碼中每個字元的ASCII碼值與文件的每個位元組進行異或運算,然後寫入文件即可。這種加密方法是可逆的,即對明文進行加密得到密文,用相同的密碼對密文進行加密就得到明文。
界面設計:在窗體From1上放置驅動器列表框(Driver1)、目錄列表框(Dir1)、文件列表框(File1)各一個,這三個控制項相互配合,用來確定要加密文件的位置。其中File1的Pattern屬性設為「*.TXT」,即僅顯示文本文件;再放置一個Check控制項,用來控制顯示文件的類型,其Caption屬性設為「顯示全部文件」;接著放置兩個文本框,Text1顯示文件內容,Text2用來輸入密碼,其Passchar屬性設為「*」,一個Label控制項,其Caption屬性設為「密碼」;最後,放置兩個命令按鈕,其Caption屬性分別設為「加密/解密」和「退出」。
程序代碼:
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 』控制是否顯示全部文件
File1.Pattern = "*.*"
Else
File1.Pattern = ".txt"
End If
End Sub
Private Sub Command1_Click()�
Dim j As Integer
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 = "" 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 j >= password_len Then 』循環使用密碼
j = 0
Else
j = j + 1
End If
addbuff(i)= databuff(i)Xor password(j)』進行異或運算
Next
Open filename For Binary As #1 』把加密後的內容寫入文件
Put #1,,addbuff
Close #1
Text1 = StrConv(addbuff vbUnicode)』顯示加密後的文件內容
Text2.Text = ""
End Sub
Private Sub Command2_Click()�
.End
End Sub
Private Sub Dir1_Change()�
File1.Path = Dir1.Path 』與文件列表框相關聯
End Sub
Private Sub Drive1_Change()�
On Error GoTo a0
Dir1.Path = Drive1.Drive 』與目錄列表框相關聯
a0: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
ReDim databuff(LOF(1))
Get #1,,databuff
Close #1
Text1 = StrConv(databuff,vbUnicode)
End Sub

⑶ 怎樣用VB給文件夾進行密碼加密

文件或文件夾的加密、解密

'此方法對 WinXP 系統有效,Win98 沒試驗過。小心:不能用於系統文件或文件夾,否則會使系統癱瘓。
'加密:利用 API 函數在文件或文件夾名稱末尾添上字元「..\」。比如,將文件夾「MyPath」更名為「MyPath..\」,在我的電腦中顯示的名稱就是「MyPath.」。系統會無法識別,此文件或文件夾就無法打開和修改,也無法刪除。著名的病毒 Autorun 就是玩的這個小把戲。
'解密:去掉文件或文件夾名稱末尾的字元「..\」

'將以下代碼復制到 VB 的窗體代碼窗口即可
'例子需控制項:Command1、Command2、Text1,均採用默認屬性設置
Private Const MAX_PATH = 260
Private Type FileTime ' 8 Bytes
LTime As Long
HTime As Long
End Type
Private Type Win32_Find_Data
dwFileAttributes As Long
ftCreationTime As FileTime
ftLastAccessTime As FileTime
ftLastWriteTime As FileTime
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cNameFile As String * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) As Long
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpNameFile As String, lpFindFileData As Win32_Find_Data) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As Win32_Find_Data) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Sub Form_Load()
Text1.Text = "C:\MyPath"
Command1.Caption = "解密": Command2.Caption = "加密"
Me.Caption = "目錄或文件的加解密"
End Sub
Private Sub Command1_Click()
Call SetPathName(False) '解密
End Sub
Private Sub Command2_Click()
Call SetPathName(True) '加密
End Sub
Private Sub SetPathName(SetMi As Boolean)
Dim nName As String, NewName As String, nSort As String, nCap As String, dl As Long
nName = Trim(Text1.Text)
If Right(nName, 3) = "..\" Then nName = Left(nName, Len(nName) - 3)
If Right(nName, 1) = "\" Then nName = Left(nName, Len(nName) - 1)
If SetMi Then
NewName = nName & "..\"
Else
NewName = nName
nName = nName & "..\"
End If
If SetMi Then nCap = "加密" Else nCap = "解密"
nSort = GetShortName(nName) '轉變其中的 ..\
If nSort = "" Then
MsgBox "文件沒有找到:" & vbCrLf & nName, vbCritical, nCap
Exit Sub
End If
If MoveFileEx(nSort, NewName, 0) = 0 Then Exit Sub '文件更名:非零表示成功,支持只讀文件
MsgBox nCap & "成功:" & vbCrLf & nName, vbInformation, nCap
End Sub
Public Function GetShortName(F As String, Optional ShortAll As Boolean) As String
'轉變為短文件名,如果目錄或文件不存在就返回空。可用於判斷某目錄或文件是否存在
'不能直接用 API 函數 GetShortPathName, 因它不支持 ..\
'ShortAll=T 表示全部轉變為短名稱,否則只轉變其中的點點杠「..\」
Dim FondID As Long, ID1 As Long, S As Long, nPath As String
Dim nF As String, InfoF As Win32_Find_Data, qF As String, hF As String
Dim nName As String, nName1 As String

nF = F
Do
S = InStr(nF, "..\")
If S = 0 Then Exit Do
qF = Left(nF, S + 2): hF = Mid(nF, S + 3) '分為前後兩部分
CutPathName qF, nPath, nName
nName = LCase(nName)
qF = nPath & "\" & "*."
FondID = FindFirstFile(qF, InfoF) '-1表示失敗。查找所有文件(夾)
ID1 = FondID
Do
If FondID = Find_Err Or ID1 = 0 Then GoTo Exit1 '沒有找到符合條件的條目

nName1 = LCase(CutChr0(InfoF.cNameFile)) '文件(夾)名稱
If nName1 & ".\" = nName Then
nName1 = CutChr0(InfoF.cAlternate) '用短文件名代替
If hF = "" Then nF = nPath & "\" & nName1 Else nF = nPath & "\" & nName1 & "\" & hF
Exit Do
End If
ID1 = FindNextFile(FondID, InfoF) '查找下一個,0表示失敗
Loop
FindClose FondID
Loop

Exit1:
FindClose FondID

S = MAX_PATH: nName = String(S, vbNullChar)
ID1 = GetShortPathName(nF, nName, S) '返回實際位元組數,0表示失敗
If ID1 = 0 Then Exit Function

If ShortAll Then
If ID1 > S Then
S = ID1: nName = String(S, vbNullChar)
ID1 = GetShortPathName(nF, nName, S) '返回實際位元組數
End If
GetShortName = CutChr0(nName)
Else
GetShortName = nF
End If
End Function
Public Sub CutPathName(ByVal F As String, nPath As String, nName As String)
Dim I As Long, LenS As Long

LenS = Len(F)
For I = LenS - 1 To 2 Step -1
If Mid(F, I, 1) = "\" Then
nPath = Left(F, I - 1): nName = Mid(F, I + 1)
GoTo Exit1
End If
Next
nPath = F: nName = ""

Exit1:

If Right(nPath, 2) = ".." Then
nPath = nPath & "\"
Else
If Right(nPath, 1) = "\" Then nPath = Left(nPath, Len(nPath) - 1)
End If

If Right(nName, 1) = "\" And Right(nName, 3) <> "..\" Then nName = Left(nName, Len(nName) - 1)
End Sub
Private Function CutChr0(xx As String) As String
Dim S As Long
S = InStr(xx, vbNullChar)
If S > 0 Then CutChr0 = Left(xx, S - 1) Else CutChr0 = xx
End Function
'參考資料見下

⑷ vb 加密文件夾

這個我不會。

加密文件夾,我使用的是文件夾加密超級大師。

文件夾加密超級大師支持所有windows系統,可以加密文件夾,加密文件,保護磁碟和數據粉碎,使用起來非常方便。

在需要加密的文件和文件夾上單擊滑鼠右鍵選擇加密就可以了。

解密時只要雙擊加密的文件夾和文件,輸入正確的密碼就可以解密。

文件夾加密超級大師加密後的文件和文件夾可以防止刪除、復制和移動。

相對於其他的文件夾加密軟體和文件加密軟體,功能和性能還有操作都更加的出色。

並且有微軟、360和金山的安全認證,是一款絕對安全的文件夾加密軟體。

您可以到網路上下載文件夾加密超級大師來給您的文件和文件夾加密,看看使用效果怎麼樣?

⑸ vb如何實現文件夾加密

Dim FilePath As String
Dim ToPath As String
Dim FormPath As String

Private Sub Command1_Click()

On Error GoTo Onerr

FormPath = FilePath

Select Case Combo1.Text
Case "控制面板"
ToPath = FilePath & ".{21EC2020-3AEA-1069-A2DD-08002B30309D}"
Case "列印機"
ToPath = FilePath & ".{2227A280-3AEA-1069-A2DE-08002B30309D}"
Case "回收站"
ToPath = FilePath & ".{645FF040-5081-101B-9F08-00AA002F954E}"
Case "網頁"
ToPath = FilePath & ".{25336920-03F9-11CF-8FD0-00AA00686F13}"
Case "IE"
ToPath = FilePath & ".{871C5380-42A0-1069-A2EA-08002B30309D}"
Case "網上鄰居"
ToPath = FilePath & ".{208D2C60-3AEA-1069-A2D7-08002B30309D}"
Case "撥號網路"
ToPath = FilePath & ".{992CFFA0-F557-101A-88EC-00DD010CCC48}"
Case "計劃任務"
ToPath = FilePath & ".{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"
Case "臨時文件"
ToPath = FilePath & ".{7BD29E00-76C1-11CF-9DD0-00A0C9034933}"
End Select

Open "C:\sxh.bat" For Output As #1
Print #1, "move/y " & FormPath & " " & ToPath
Print #1, "del %0"
Close #1
Shell "C:\sxh.bat", vbHide

MsgBox "恭喜你,對文件夾 " & FormPath & " 的保護成功!", 64, "文件夾保護成功"
Exit Sub
Onerr:
MsgBox "對文件夾 " & FormPath & " 的保護出錯!請重試!", 16, "文件夾保護出錯"

End Sub

Private Sub Command2_Click()

暈..太長了不夠發.

⑹ VB怎麼做文件夾加密

VB都
有:驅動器列表框(Driver1)、目錄列表框(Dir1)、文件列表框(File1)這三個控制項,它們是常用控制項,就是已經在左邊顯示啦,只要點擊加到Form1里就行了,不需要先在「工程」菜單里添加。
可能是你沒找到,對比上圖,如果確定沒有,你就新安裝一遍VB吧。

⑺ 怎樣用VB編寫一個文件加密程序

怎樣用vb編寫文件夾加密,這個太麻煩了,不如您下載文件夾加密超級大師試試。
給文件夾加密,我使用的是文件夾加密超級大師。
文件夾加密超級大師具有界面漂亮友好、簡單易用、穩定無錯、功能強大和兼容性好等特點。
文件夾加密超級大師加密的文件(夾)可以防止刪除、拷貝和移動。
加密時,在需要加密的文件和文件夾上單擊滑鼠右鍵選擇加密就可以。
解密時,雙擊已加密文件夾輸入正確密碼即可,十分方便。
你可以到網路上搜索下載文件夾加密超級大師,看能不能幫助解決你的這個問題。

熱點內容
如何用電腦主機搭建伺服器 發布:2024-10-10 20:08:25 瀏覽:640
python鉤子函數 發布:2024-10-10 20:07:46 瀏覽:932
phpoa辦公系統 發布:2024-10-10 19:55:28 瀏覽:731
存儲最小單元 發布:2024-10-10 19:54:37 瀏覽:166
9加9的演算法 發布:2024-10-10 19:29:06 瀏覽:50
linux圖形系統 發布:2024-10-10 18:45:40 瀏覽:802
農業溯源碼 發布:2024-10-10 18:44:53 瀏覽:841
rec320是哪個安卓版本 發布:2024-10-10 18:44:02 瀏覽:859
無腳本的藝人節目 發布:2024-10-10 18:26:55 瀏覽:396
安卓手機如何變成大屏幕 發布:2024-10-10 18:26:55 瀏覽:675