代碼都封裝成函數(shù)了,方便調(diào)用:
Wscript.echo now ", 加密: "
MyData = ReadBin("test.jpg")
EnData = Encoder(MyData)
WriteBin "E_test.jpg", EnData
Wscript.echo now ", 加密: "
Wscript.echo now ", 解密: "
MyData = ReadBin("E_test.jpg")
UnData = Uncoder(MyData)
WriteBin "U_test.jpg", UnData
Wscript.echo now ", 解密: "
Function ReadBin(FileName)
Dim Stream, ObjXML, MyNode
Set ObjXML = CreateObject("Microsoft.XMLDOM")
Set MyNode = ObjXML.CreateElement("binary")
Set Stream = CreateObject("ADODB.Stream")
MyNode.DataType = "bin.hex"
Stream.Type = 1
Stream.Open
Stream.LoadFromFile FileName
MyNode.NodeTypedValue = Stream.Read
Stream.Close
ReadBin = MyNode.Text
Set MyNode = Nothing
Set Stream = Nothing
Set ObjXML = Nothing
End Function
Function WriteBin(FileName, BufferData)
Dim Stream, ObjXML, MyNode
Set ObjXML = CreateObject("Microsoft.XMLDOM")
Set MyNode = ObjXML.CreateElement("binary")
Set Stream = CreateObject("ADODB.Stream")
MyNode.DataType = "bin.hex"
MyNode.Text = BufferData
Stream.Type = 1
Stream.Open
Stream.Write MyNode.NodeTypedValue
Stream.SaveToFile FileName, 2
Stream.Close
Set stream = Nothing
Set MyNode = Nothing
Set ObjXML = Nothing
End Function
Function Encoder(Data)
Dim K, M
For n = 0 To Len(Key)-1
K = K Asc(Left(Right(key, Len(Key)-n), 1)) "#"
Next
Data = UCase(Data)
For i = 0 To Len(Data)-1
M = Left(Right(Mid(Data, i+1, 1), Len(Data)-i), 1)
For j = 0 To Len(Key)-1
If i Mod Len(Key) = j Then
Encoder = Encoder Hex((Asc(M) Xor Split(K, "#")(j)))
End If
Next
Next
End Function
Function Uncoder(Data)
Dim K
For n = 0 To Len(Key)-1
K = K "#" Asc(Left(Right(key, Len(Key)-n), 1)) "#X"
Next
K = K K
Data = UCase(Data)
For i = 1 To Len(Data) Step 2
For j = 1 To Len(Key) * 2
If i Mod Len(Key)*2 = j Then
Uncoder = Uncoder Chr(Split(K, "#")(j) Xor ("H" Mid(Data, i, 2)))
End If
Next
Next
End Function
標簽:湖州 ???/a> 文山 銅川 四平 西安 鶴壁 邢臺
巨人網(wǎng)絡通訊聲明:本文標題《VBS 十六進制異或加密實現(xiàn)代碼》,本文關(guān)鍵詞 VBS,十六進制,異或,加密,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。