您现在的位置是:网站首页> 编程资料编程资料
VBS 十六进制异或加密实现代码_vbs_
                     2023-05-25
                372人已围观
                
                2023-05-25
                372人已围观
            
简介 VBS 十六进制异或加密实现代码_vbs_

代码都封装成函数了,方便调用:
Key = "www-enun-net" '不要用数字
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
相关内容
- VBE decoder_vbs_
- vbscript获取文件的创建时间、最后修改时间和最后访问时间的方法_vbs_
- 使用vbscript生成36进制自动增长序号的实现代码_vbs_
- VBScript把json字符串解析成json对象的2个方法_vbs_
- MSScriptControl.ScriptControl组件属性、方法、事件介绍_vbs_
- MSScriptControl.ScriptControl组件的用法实例_vbs_
- Vbscript生成Excel报表的常用操作总结_vbs_
- vbs脚本实现下载jre包并静默安装的代码实例_vbs_
- BAT批处理、VBScript批量安装字体脚本分享_vbs_
- VBS中InStrRev函数的第三个参数(Start)使用注意事项_vbs_
 
                                
                                                         
                                
                                                         
                                
                                                         
 
    