vb編寫plc解密程序(vb加密程序代碼)
廣州龍躍自動(dòng)化專業(yè)破解解密各類plc加密,全國24小時(shí)聯(lián)系手機(jī):18520649527 【關(guān)技術(shù)】 微信:guanshiyou009如有任何問題請打手機(jī)或者添加微信,謝謝支持
VB 加密與解密的程序代碼
加密:
Private?Function JiaMi(ByVal varPass As String) As String '參數(shù)varPass是需要加密的文本內(nèi)容
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
Next?I
JiaMi = strJiaMi
End?Function
解密函數(shù):
Private?Function JieMi(ByVal varPass As String) As String '參數(shù)varPass是需要解密的密文內(nèi)容
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))
Next?I
JieMi = varFinalPass
End?Function
擴(kuò)展資料:
注意事項(xiàng)
編寫加密程序,將用戶輸入的一個(gè)英文句子加密為加密字符串,然后輸出加密字符串。假設(shè)句子長度不超過100個(gè)字符。
根據(jù)給定的句子加密函數(shù)原型SentenceEncoding,編寫函數(shù)SentenceEncoding調(diào)用給定的字符加密函數(shù)CharEncoding完成句子加密。
然后,編寫主程序提示用戶輸入英文句子,然后調(diào)用函數(shù)SentenceEncoding對句子加密,最后輸出加密后的句子。
字符加密規(guī)則為大寫字母和小寫字母均加密為其補(bǔ)碼, 我們定義ASCII碼值相加為’A’+’Z’即155的兩個(gè)大寫字母互為補(bǔ)碼,ASCII碼值相加為’a’+’z’即219的兩個(gè)小寫字母互為補(bǔ)碼。
空格用@代替,句號(hào)以#代替,其它字符用句點(diǎn)代替。
函數(shù)原型:
void SentenceEncoding(char *soure,char *code);
功能:對待加密字符串source加密后保存加密字符串到code.
參數(shù):char *soure,指向待加密句子的字符串指針;
char *code 指向加密字符串的字符串指針;
字符加密函數(shù)代碼。
[img]vb 暴力破解密碼程序的過程?
工作繁忙難免產(chǎn)生意外,比如對重要的word文檔加密之后卻把密碼忘得一干二凈,這幾乎會(huì)發(fā)生在每個(gè)人的身上。這時(shí)你可能會(huì)焦急萬分,不過我勸你不要太緊張,有空來程序谷坐坐,一定會(huì)有好的答案的。下面我們就來看看用窮舉法暴力破解word密碼的程序,當(dāng)然,為了簡單起見,程序只針對密碼是數(shù)字的情況做了處理,字符型的密碼與此類似,不再多說了。
一、引言
大家都知道,office家族跟VB有千絲萬縷的聯(lián)系,Microsoft office組件中的所有應(yīng)用程序都內(nèi)建有VBA,這樣就可以通過VB或VBA操作word 應(yīng)用程序中的對象,用窮舉測試的辦法達(dá)到找回丟失密碼的目的,非常簡單吧!
二、實(shí)現(xiàn)過程
下面來看一看程序的具體編制過程。程序采用VB編程實(shí)現(xiàn),需要機(jī)器安裝有VB應(yīng)用程序及Microsoft office組件。打開VB,新建一個(gè)VB工程,取名Proc_word,將啟動(dòng)窗體命名為FrmMain,選擇“工程”菜單中的“引用”,在“引用”對話框中選擇 “Microsoft word8.0 Object Library”(這一步很重要,你必須選擇這一ActiveX部件,否則代碼不能正確運(yùn)行,順便說一句,如果安裝的是office2000,那么應(yīng)該選擇“Microsoft word9.0 Object Library”)。同時(shí)在“工程”菜單中“部件”對話框中選擇添加“Microsoft Windows common controls -2.5(sp2)”,以便在窗體設(shè)計(jì)中可以使用微調(diào)控件。
好了,現(xiàn)在可以動(dòng)手編制程序了。在剛才FrmMain窗體的左側(cè)添加一個(gè)框架控件,并在此控件內(nèi)加入一個(gè)驅(qū)動(dòng)器列表框、一個(gè)目錄列表框和一個(gè)文件列表框控件。在FrmMain窗體的右下側(cè)添加兩個(gè)命令按鈕,在右上側(cè)添加三個(gè)標(biāo)簽控件、兩個(gè)文本框控件和一個(gè)微調(diào)控件,你可以參考附圖來設(shè)計(jì)。接著,將框架的Caption屬性設(shè)置成“請選擇需要破譯的word文檔”;保持目錄列表框、驅(qū)動(dòng)器列表框、文件列表框、文本框、微調(diào)控件缺省名稱不變;將文件列表框的Pattern屬性設(shè)置成“*.DOC”,目的是只顯示目錄下的 word文件;將第一個(gè)標(biāo)簽控件Caption屬性設(shè)置成“該程序破譯八位以下純數(shù)字組合word文檔密碼”,將第二個(gè)標(biāo)簽Caption屬性設(shè)置成“解密進(jìn)度”,將第三個(gè)標(biāo)簽Caption屬性設(shè)置成“請選擇破譯密碼位數(shù)”;將第二個(gè)文本框的Text屬性設(shè)置成“4”,這是缺省密碼位數(shù);將微調(diào)按鈕的 BuddyControl屬性設(shè)置成Text2就能和第二個(gè)文本框關(guān)聯(lián),BuddyProperty 改成Text,Max、Min屬性分別設(shè)置成“8”和“1”,表示最長密碼位數(shù)和最短密碼位數(shù),將Wrap屬性設(shè)置成True,將Increment屬性設(shè)置成“1”,以便每單擊一次加1或減1;將兩個(gè)命令按鈕的名稱分別改成 “cmdopendoc”和“cmdquit”,Caption屬性分別設(shè)置成“文件打開”、“系統(tǒng)退出”。以上就把各控件的屬性設(shè)置完了,接著編寫代碼也就不是什么難事兒了。
下面就是全部的源程序,適當(dāng)?shù)淖⑨層兄诖蠹依斫獬绦?。你還可以通過設(shè)置斷點(diǎn)來跟蹤密碼生成部分,看看程序編制的原理。
運(yùn)用VB對文字進(jìn)行加密解密
'這是我從網(wǎng)上找到的一段加密解密的代碼,很不錯(cuò),應(yīng)該符合要求。
'文本框的multiline屬性是用來設(shè)置是否可以接受多行文本,只能在窗體上手工設(shè)置。
'文本框的scrollbars屬性是用來設(shè)置是否有垂直和水平滾動(dòng)條的,也只能在窗體上手工設(shè)置。
'keyAscii不清楚是作什么用的。
'兩個(gè)StrConv函數(shù)用的太好了,我沒想到能處理的這么簡單。
Option Explicit
Dim key() As Byte
Sub initkey() '這里為密匙,建議定義的復(fù)雜些,我這里僅僅是個(gè)示例
ReDim key(9)
key(0) = 12
key(1) = 43
key(2) = 53
key(3) = 67
key(4) = 78
key(5) = 82
key(6) = 91
key(7) = 245
key(8) = 218
key(9) = 190
End Sub
Function Pass_Encode(ByVal s As String) As String '加密
On Error GoTo myerr
initkey
Dim buff() As Byte
buff = StrConv(s, vbFromUnicode)
Dim i As Long, j As Long
Dim k As Long
k = UBound(key) + 1
For i = 0 To UBound(buff)
j = i Mod k
buff(i) = buff(i) Xor key(j)
Next
Dim mstr As String
mstr = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim outstr As String
Dim temps As String
For i = 0 To UBound(buff)
k = buff(i) \ Len(mstr)
j = buff(i) Mod Len(mstr)
temps = Mid(mstr, j + 1, 1) + Mid(mstr, k + 1, 1)
outstr = outstr + temps
Next
Pass_Encode = outstr
Exit Function
myerr:
Pass_Encode = ""
End Function
Function Pass_Decode(ByVal s As String) As String '解密
On Error GoTo myerr
initkey
Dim i As Long, j As Long
Dim k As Long, n As Long
Dim mstr As String
mstr = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim outstr As String
Dim temps As String
If Len(s) Mod 2 = 1 Then
Pass_Decode = ""
Exit Function
End If
Dim t1 As String
Dim t2 As String
Dim buff() As Byte
Dim m As Long
m = 0
For i = 1 To Len(s) Step 2
t1 = Mid(s, i, 1)
t2 = Mid(s, i + 1, 1)
j = InStr(1, mstr, t1)
k = InStr(1, mstr, t2)
n = j - 1 + (k - 1) * Len(mstr)
ReDim Preserve buff(m)
buff(m) = n
m = m + 1
Next
k = UBound(key) + 1
For i = 0 To UBound(buff)
j = i Mod k
buff(i) = buff(i) Xor key(j)
Next
Pass_Decode = StrConv(buff, vbUnicode)
Exit Function
myerr:
Pass_Decode = ""
End Function
Private Sub Command1_Click()
Text2.Text = Pass_Encode(Text1.Text)
Text3.Text = Pass_Decode(Text2.Text)
End Sub
用vb編一個(gè)加密解密的程序
在窗體上至少添加文件控件:Drive控件,Dir控件,F(xiàn)ile控件,以及Command控件,每次用Xor加密解密后,在文件名加上前綴X-,另外保存
其他控件你可以添加,用來裝飾,比如Label,用做提示
■這已經(jīng)是詳細(xì)完整的程序了,窗體添加控件你自己應(yīng)該會(huì)吧?添加后,把下面內(nèi)容復(fù)制到代碼窗口就可以了■
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
廣州龍躍自動(dòng)化專業(yè)破解解密各類plc加密,全國24小時(shí)聯(lián)系手機(jī):18520649527 【關(guān)技術(shù)】 微信:guanshiyou009如有任何問題請打手機(jī)或者添加微信,謝謝支持