當前位置:首頁 » 密碼管理 » vb加密程序

vb加密程序

發布時間: 2022-05-26 12:41:35

『壹』 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

『貳』 用VB做一個加密程序。

你這個不是已經有了加密的演算法嗎?做加法接可以了?
加密前0 1 2 3 4 5 6 7 8 9 a b c d e f
相加值1 2 1 6 4 0 8 7 4 3 1 2 1 6 4 0
加密後1 3 3 9 8 5 d d b b b d d 4 3 f
就是:
加密前0、2、a、c,就加上1
加密前1、b,就加上2
加密前9,就加上3
加密前4、8、e,就加上4
加密前3、d,就加上6
加密前7,就加上7
加密前6,就加上8
加密前5、f,就加上0

『叄』 怎樣給VB程序加密

讀別人的源代碼本來就不太容易。你既然要開源給對方,又不想讓讓人家更不容易讀懂,建議這樣做:
用批量替換的方法,把變數、常量、自定義函數、子程序、數組、控制項的名稱全部改成無意義的
比如,你可能會用
pananniannin
來表示判斷年齡子程序,用
age來表示年齡變數,現在統一把
pananninanin來替換成
fmcc,把age
替換成
xyz.
自己則記下這個工程各名稱的含義,我想,讓他一方面要主動性懂程序,一方面還要推測你某個具體變更的含義,進而進一步了解程序的含義,就夠讓對方抓狂一陣子了

『肆』 如何對自己的VB程序加密

這樣的話你就放心吧,別人不會得到你的源代碼的。得到的是匯編語言。這樣哪怕你再會加密也不可能連匯編碼都不生成。所以說不用加密的。
而你如果真的用vb來編寫賣錢的軟體么,可以用注冊碼加密的方法。這樣的話就看你的加密演算法怎麼樣了。一般用md5就可以了

『伍』 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

(5)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 指向加密字元串的字元串指針;

字元加密函數代碼。

『陸』 利用VB設計一個加密程序

簡單判斷吧

a = "ABCD"'要加密的大寫字母

For i = 1 To 4'循環

b = Asc(Mid(a, i, 1)) + 4'分離字元串為單個

If b > 90 Then b = b - 26'如果大於90

Print Chr(b);'輸出加密後字母

Next'循環結束

『柒』 怎樣用vb程序給程序加密!!!

dim a as string
sub form_load
a=""'在""中輸入正確密碼
if not(inputbox("請輸入密碼")=a) then end
'……
'我也無法理解此代碼,抄書的。
end sub

『捌』 用VB實現加密解密程序。

這里只給出按鈕事件的過程,加密演算法(函數)你自己想辦法:
設加密演算法函數名為encryptxt,解密演算法函數名為unencryptxt,不帶參數。
加密窗口「生成密文」按鈕事件:
Private sub 生成密文_Click()
Frame1.Caption = encryptxt (Text1.text)
End Sub

解密窗口「解密」按鈕事件:
Private Sub 解密_Click()
Frame2.Caption = unencryptxt(Rrame1.Caption)
End Sub

『玖』 用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

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372