如何加密vb編譯程序
1. VB中如何編寫一個加密程序
編寫一個加密軟體,要求將源文件按位元組逐位倒排序加密法加密。
位元組逐位倒排序加密法是以比特為單位的換位加密方法,用vb實現的具體演算法是:
(1) 以二進制模式打開源文件;
(2) 從源文件第i位讀取一個位元組,假設為字母「a」,得到「a」的ascii值為65;
(3) 將65轉換成八位二進制串為「01000001」;
(4) 將「01000001」按位元組逐位倒排序得另一個八位二進制串「10000010」;
(5) 將「10000010」轉換成十進制再寫回源文件第i位置,完成一個位元組的加密;
(6) 重復(2)、(3)、(4)和(5),直到所有位元組加密結束。
為了使程序模塊化,我們用函數過程bytetobin完成將位元組型數據轉換成二進制串(其實質就是將十進制數轉換成八位二進制串);用函數過程bintobyte將二進制串轉換成位元組型數據(實質是將八位二進制串轉換成十進制數):用函數過程reverse將八位二進制串逐位倒排序。具體程序如下:
function bytetobin(m as byte) as string ' 將位元組型數據轉換成八位二進制字元串
dim c$
c$ = ""
do while m <> 0
r = m mod 2
m = m \ 2
c$ = r & c$
loop
c$ = right("00000000" & c$, 8)
bytetobin = c$
end function
function reverse(m as string) as string ' 將八位二進制字元串顛倒順序
dim i%, x$
x = ""
for i = 1 to 8
x = mid(m, i, 1) & x
next i
reverse = x
end function
function bintobyte(m as string) as byte ' 將八位二進制串轉換成十進制
dim x as string * 1, y%, z%
z = 0
for i = 1 to 8
x = mid(m, i, 1)
y = x * 2 ^ (8 - i)
z = z + y
next i
bintobyte = z
end function
private sub command1_click()
dim x as byte, i%, fname$
fname = inputbox("請輸入要加密的文件名!注意加上路徑名:")
if dir(fname) = "" then
msgbox "文件不存在!"
exit sub
end if
open fname for binary as #1 ' 以二進制訪問模式打開待加密文件
for i = 1 to lof(1) ' lof函數是求文件長度的內部函數
get #1, i, x ' 取出第i個位元組
x = bintobyte(reverse(bytetobin(x))) ' 這里調用了三個自定義函數
put #1, i, x ' 將加密後的這個位元組寫回到文件原位置
next i
close
msgbox "任務完成!"
end sub
2. 如何用vb6.0編寫文件夾加密程序
自己編寫一個文件夾加密軟體,也太麻煩了。
文件夾加密軟體,我使用的是文件夾加密超級大師。
文件夾加密超級大師支持所有windows系統,可以加密文件夾,加密文件,保護磁碟和數據粉碎,使用起來非常方便。
在需要加密的文件和文件夾上單擊滑鼠右鍵選擇加密就可以了。
解密時只要雙擊加密的文件夾和文件,輸入正確的密碼就可以解密。
文件夾加密超級大師加密後的文件和文件夾可以防止刪除、復制和移動。
相對於其他的文件夾加密軟體和文件加密軟體,功能和性能還有操作都更加的出色。
並且有微軟、360和金山的安全認證,是一款絕對安全的文件夾加密軟體。
您可以到網路上下載文件夾加密超級大師來給您的文件和文件夾加密,看看使用效果怎麼樣?
3. VB如何給源代碼加密
把函數封裝到DLL里 直接加密不了 用記事本都能看VB源代碼
4. 怎樣用vb程序給程序加密!!!
dim a as string
sub form_load
a=""'在""中輸入正確密碼
if not(inputbox("請輸入密碼")=a) then end
'……
'我也無法理解此代碼,抄書的。
end sub
5. 怎樣給VB程序加密
讀別人的源代碼本來就不太容易。你既然要開源給對方,又不想讓讓人家更不容易讀懂,建議這樣做:
用批量替換的方法,把變數、常量、自定義函數、子程序、數組、控制項的名稱全部改成無意義的
比如,你可能會用
pananniannin
來表示判斷年齡子程序,用
age來表示年齡變數,現在統一把
pananninanin來替換成
fmcc,把age
替換成
xyz.
自己則記下這個工程各名稱的含義,我想,讓他一方面要主動性懂程序,一方面還要推測你某個具體變更的含義,進而進一步了解程序的含義,就夠讓對方抓狂一陣子了
6. VB 加密與解密的程序代碼
加密:
PrivateFunction JiaMi(ByVal varPass As String) As String '參數varPass是需要加密的文本內容
Dim varJiaMi As String * 20
Dim varTmp As Double
Dim strJiaMi As String
Dim I
For I = 1 To Len(varPass)
varTmp = AscW(Mid$(varPass, I, 1))
varJiaMi = Str$(((((varTmp * 1.5) / 5.6) * 2.7) * I))
strJiaMi = strJiaMi & varJiaMi
NextI
JiaMi = strJiaMi
EndFunction
解密函數:
PrivateFunction JieMi(ByVal varPass As String) As String '參數varPass是需要解密的密文內容
Dim varReturn As String * 20
Dim varConvert As Double
Dim varFinalPass As String
Dim varKey As Integer
Dim varPasslenth As Long
varPasslenth = Len(varPass)
For I = 1 To varPasslenth / 20
varReturn = Mid(varPass, (I - 1) * 20 + 1, 20)
varConvert = Val(Trim(varReturn))
varConvert = ((((varConvert / 1.5) * 5.6) / 2.7) / I)
varFinalPass = varFinalPass & ChrW(Val(varConvert))
NextI
JieMi = varFinalPass
EndFunction
(6)如何加密vb編譯程序擴展閱讀:
注意事項
編寫加密程序,將用戶輸入的一個英文句子加密為加密字元串,然後輸出加密字元串。假設句子長度不超過100個字元。
根據給定的句子加密函數原型SentenceEncoding,編寫函數SentenceEncoding調用給定的字元加密函數CharEncoding完成句子加密。
然後,編寫主程序提示用戶輸入英文句子,然後調用函數SentenceEncoding對句子加密,最後輸出加密後的句子。
字元加密規則為大寫字母和小寫字母均加密為其補碼, 我們定義ASCII碼值相加為』A』+』Z』即155的兩個大寫字母互為補碼,ASCII碼值相加為』a』+』z』即219的兩個小寫字母互為補碼。
空格用@代替,句號以#代替,其它字元用句點代替。
函數原型:
void SentenceEncoding(char *soure,char *code);
功能:對待加密字元串source加密後保存加密字元串到code.
參數:char *soure,指向待加密句子的字元串指針;
char *code 指向加密字元串的字元串指針;
字元加密函數代碼。
7. 如何加密VB
用一些EXE壓縮軟體壓縮一下就行了,文件被壓縮的同時也自然而然地起到了加密的作用,一舉兩得,而且壓縮後的exe文件可以直接運行。
我推薦用ASPack
8. 用VB寫個簡單加密/解密程序
'圖上的控制項,你就照著擺上去,然後再把以下代碼拷進去,就OK了
Dim lg As Integer
'加密
Private Sub Command1_Click()
Text2 = ""
Dim a(), b() As String
lg = Len(Text1)
ReDim a(lg), b(lg)
For i = 1 To lg
a(i) = Mid(Text1, i, 1)
b(i) = AscW(a(i)) Xor 4
Text2 = Text2 & ChrW(b(i))
Next
End Sub
'解密
Private Sub Command2_Click()
Text3 = ""
Dim a(), b() As String
lg = Len(Text2)
ReDim a(lg), b(lg)
For i = 1 To lg
a(i) = Mid(Text2, i, 1)
b(i) = AscW(a(i)) Xor 4
Text3 = Text3 & ChrW(b(i))
Next
End Sub
9. 用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
10. vb如何用sql寫加密程序
編寫一個加密軟體,要求將源文件按位元組逐位倒排序加密法加密。
位元組逐位倒排序加密法是以比特為單位的換位加密方法,用vb實現的具體演算法是:
(1) 以二進制模式打開源文件;
(2) 從源文件第i位讀取一個位元組,假設為字母「a」,得到「a」的ascii值為65;
(3) 將65轉換成八位二進制串為「01000001」;
(4) 將「01000001」按位元組逐位倒排序得另一個八位二進制串「10000010」;
(5) 將「10000010」轉換成十進制再寫回源文件第i位置,完成一個位元組的加密;
(6) 重復(2)、(3)、(4)和(5),直到所有位元組加密結束。