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

vb加密解密

發布時間: 2022-05-18 16:29:32

『壹』 vb加解密

最簡單的設置一個公共變數Code和Key,前者用於存原密碼,後者用於存密鑰,自定義一個加密函數trans,用於轉換Code和Key並顯示在text2當中,解密時判定輸入的密鑰與Key是否符合,如果符合就把Code顯示出來。也就是說,這個加密函數只是用於加密轉換時,在解密的時候,可以不用它而直接讀取Code變數。代碼如下:
Dim Code As String, Key As String
Private Sub Command1_Click() '這是加密過程,加密的同時把密碼與密鑰存入變數Code和Key中
Label2.Caption = "加密後的密碼"
Code = Text1.Text
Key = Text3.Text
Text2.Text = trans(Key) & trans(Code)
End Sub
Private Sub Command2_Click() '這是解密過程
If Text3.Text <> Key Then
MsgBox "密鑰錯誤,請重新輸入"
Else
MsgBox "原密碼是:" & Code
End If
End Sub

Private Function trans(s As String) As String '這是加密函數
Dim ch As String
For i = 1 To Len(s)
If Mid(s, i, 1) Like "[A-Z]" Then
ch = ch & Chr(155 - Asc(Mid(s, i, 1)))
ElseIf Mid(s, i, 1) Like "[a-z]" Then
ch = ch & Chr(219 - Asc(Mid(s, i, 1)))
Else
ch = ch & Mid(s, i, 1)
End If
Next
trans = ch
End Function

Private Sub Form_Load() '這是所有用到的控制項
Label1.Caption = "密碼"
Label2.Caption = "加密後的密碼"
Label3.Caption = "密鑰"
Command1.Caption = "加密"
Command2.Caption = "解密"
End Sub

補充:我測試沒問題。Text2中是加密後的密文,解密時會先判定用戶在Text3中所輸入的密鑰是否與Key變數中保存的密鑰相同,如果相同的話才會顯示原來的密碼。如果出錯的話,請檢查一下這8個控制項,3個Text,3個Label,2個Command,你可以新建一個程序,然後在窗體上放上這8個控制項,都用默認屬性,然後把代碼復制過去,再運行一下試試。

『貳』 VB加密和解密數字

最簡單的就是移位法:就是將數字加上(或者減掉)某個定值;

比如:加密的時候加上5

那麼:

0 + 5 = 5 轉換成5

1 + 5 = 6 轉換成6

2 + 5 = 7 轉換成7

3 + 5 = 8 轉換成8

4 + 5 = 9 轉換成9

5 + 5 = 10 去掉十位 轉換成0

6 + 5 = 11 去掉十位 轉換成1

7 + 5 = 12 去掉十位 轉換成2

8 + 5 = 13 去掉十位 轉換成3

9 + 5 = 14 去掉十位 轉換成4


那麼解密的時候,就減掉5。

對於小於5的數字,要加上10以後再減5。


請看附件:


『叄』 用vb編一個加密解密的程序

在窗體上至少添加文件控制項:Drive控制項,Dir控制項,File控制項,以及Command控制項,每次用Xor加密解密後,在文件名加上前綴X-,另外保存
其他控制項你可以添加,用來裝飾,比如Label,用做提示

■這已經是詳細完整的程序了,窗體添加控制項你自己應該會吧?添加後,把下面內容復制到代碼窗口就可以了■

Private Sub Command1_Click()
Dim oldFile As String, newfile As String, theByte As Byte
If File1.FileName = "" Then MsgBox "請選擇需要加密或解密的文件!": Exit Sub
oldFile = Dir1.Path & "\" & File1.FileName
newfile = Dir1.Path & "\X-" & File1.FileName
Open oldFile For Binary As #1 Len = 1
Open newfile For Binary As #2
Do
Get #1, , theByte
theByte = 7 Xor theByte
Put #2, , theByte
Loop Until EOF(1)
Close #1
Close #2
MsgBox "加密或解密後的文件存放在「" & newfile & "」中!"
File1.Refresh
End Sub

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Private Sub Form_Load()
File1.Pattern = "*.txt" '只列出txt文本文件,如果要列出全部文件,改成*.*
Command1.Caption = "加密解密"
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加密解密

因為加密後有不可顯示字元,text1中顯示不出來就用?來代替。所以你解密的字元串不是你加密後的字元串。可以設個全局變數測試一下

『陸』 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 指向加密字元串的字元串指針;

字元加密函數代碼。

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

『捌』 使用VB做出加密,密鑰和解密

下面代碼稍加修改就成。
Private Sub Command1_Click()
Dim a As String
Dim b As String
a = Text3
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text2 = b
a = Text2
b = ""
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text1 = b
End Sub
Private Function JiaMi(a As String) As String
Dim IntAsc As Integer
IntAsc = Asc(a)
If IntAsc Mod 2 Then
IntAsc = IntAsc + 47
If IntAsc > 126 Then IntAsc = IntAsc - 47
Else
IntAsc = IntAsc - 47
If IntAsc < 33 Then IntAsc = IntAsc + 47
End If
JiaMi = Chr(IntAsc)
End Function

『玖』 VB文本加密解密

剛好以前寫過一篇文章,提取了一部分
對敏感的數據進行加密是必要的,如用戶的密碼的加密。在要對數據進行加密前得確定要用何種加密方式,加密分類有很多種,從可逆角度可分為可逆和不可逆,從加密演算法可分為秘密密鑰演算法、公開密鑰演算法(用於加密、數據簽名和密鑰管理)以及單向散列函數等。md5加密是不可逆的,md5加密的具體實現又分為許多種。

加密為什麼要採用不可逆?舉個例子,當你輸入的密碼進行加密的密文被截取,那他也要把密文解密成原文,這時由於不可逆,那他要破解密碼的難度就提高,除非他可以越過加密那一步直接提供密文,這樣就達到安全的目的。每當我們忘記密碼進行找回密碼,大多數網站要求我們輸入新的密碼而不是直接告訴我們原來的密碼,這是由於不可逆造成的,但這又不是壞處,為什麼這么說?如果在找回密碼時能夠知道原來的密碼,那麼卧底就不用修改密碼來監控所有人,而所有人又不知情。但並不是所有網站都採用不可逆的演算法,筆者在某網站注冊過用戶,有一段沒登錄過,那網站就會給筆者一份提醒郵件,而這提醒郵件又顯示著筆者的密碼,這很可能是這個網站採用的不是不可逆的演算法。

今天為一個網友實現了一個簡易的自定義加密方式,使用的是Visual Basic 6.0。關鍵代碼如下:

Dim decode As String, encode As String, oldString As String, newString As String

Dim i As Integer

decode = "1234567890" '加密原文對照字元,不應該出錯相同的字元

encode = "eoSDriKjsd" '加密成密文的對照字元,字元個數不能少於decode,否則極易造成出錯

oldString = "87232" '待加密的字元串,所有字元都必需能夠在decode里找到對應位置

newString = "" '存放加密後的字元串

For i = 1 To Len(oldString)

newString = newString + Mid$(encode, Instr(decode, Mid$(oldString, i, 1)), 1)

Next i

Print "原文:"; oldString

Print "密文:"; newString

decode和encode的值可以根據需要設置,oldString可以由文框輸入,如果encode里的字元倆倆不相同,那麼只需調換decode和encode的值,就可以實現解密,否則加密後的密文為不可逆。

當然,在實際的應用種應增加加密的演算法復雜度,讓密文不至於被人輕而易舉破解。更多的加密知識請參考相關文檔。

希望回答對你有幫助

『拾』 使用VB作出加密,解密並顯示密鑰

'這是我以前回答別人提問時寫的,添加三個文本框,一個按鈕。text3文本框中輸入要加密的
'文本,在text2中是加密的文本,在text1中是對加密的文本解密。加密和解密用同一個
'過程'Private Function JiaMi(a As String) As String

Private Sub Command1_Click()
Dim a As String
Dim b As String
a = Text3
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text2 = b
a = Text2
b = ""
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text1 = b
End Sub
Private Function JiaMi(a As String) As String
Dim IntAsc As Integer
IntAsc = Asc(a)
If IntAsc Mod 2 Then
IntAsc = IntAsc + 47
If IntAsc > 126 Then IntAsc = IntAsc - 47
Else
IntAsc = IntAsc - 47
If IntAsc < 33 Then IntAsc = IntAsc + 47
End If
JiaMi = Chr(IntAsc)
End Function

熱點內容
java小數正則表達式 發布:2025-05-20 11:30:58 瀏覽:136
文件夾加密win7 發布:2025-05-20 11:27:46 瀏覽:837
壓縮文件設置密碼有什麼意思 發布:2025-05-20 11:26:37 瀏覽:551
造夢西遊qq登錄如何修改密碼 發布:2025-05-20 11:18:36 瀏覽:382
淘寶緩存清理後還是大 發布:2025-05-20 11:15:39 瀏覽:149
ios雲存儲自動訂購 發布:2025-05-20 11:06:22 瀏覽:110
編程與數學 發布:2025-05-20 11:01:23 瀏覽:444
asp連接遠程資料庫 發布:2025-05-20 10:50:20 瀏覽:390
一般電腦配置哪個好 發布:2025-05-20 10:40:58 瀏覽:604
我的世界擼樹伺服器 發布:2025-05-20 10:33:37 瀏覽:742