VBS 十六进制异或加密实现代码

文件不要过大,最好不要超过 100 KB,密钥不要用数字,不想改了。理论上支持任何二进制文件格式
 

效果图:

代码都封装成函数了,方便调用:

复制代码 代码如下:

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

时间: 2025-01-01 16:59:20

VBS 十六进制异或加密实现代码的相关文章

VBS 十六进制异或加密实现代码_vbs

效果图: 代码都封装成函数了,方便调用: 复制代码 代码如下: Key = "www-enun-net" '不要用数字 Wscript.echo now & ", 加密: "MyData = ReadBin("test.jpg")EnData = Encoder(MyData)WriteBin "E_test.jpg", EnDataWscript.echo now & ", 加密: " W

c语言-以下异或加密代码提示一个奇怪的问题,数字上的错误后缀

问题描述 以下异或加密代码提示一个奇怪的问题,数字上的错误后缀 void EncryptXOR (long s[8]) { char key[4] = { 'mque' }; int a[4],b[4]; for (int i= 0; i<= 3; i++) { a[i] = int(s[2i+1] * 16 + s[2i]); } for (int j = 0; j <= 3; j++) { b[j] = a[3-j] ^int( key[j]); printf("%c"

在asp中通过vbs类实现rsa加密与解密的代码_应用技巧

在asp中通过vbs类实现rsa加密与解密,建议入精华 本文章有两文件组成 test.asp 测试演示文件 clsrsa.asp 实现rsa加密与解密的vbs类文件 下面是代码: 1. test.asp  复制代码 代码如下: <%  rem 文章标题:在asp中通过vbs类实现rsa加密与解密  rem 收集整理:yanek  rem 联系:aspboy@263.net  %>  <%Option Explicit%>  <!--#INCLUDE FILE="cl

在asp中通过vbs类实现rsa加密与解密,建议入精华

加密|解密|精华 在asp中通过vbs类实现rsa加密与解密,建议入精华 本文章有两文件组成 test.asp 测试演示文件 clsrsa.asp 实现rsa加密与解密的vbs类文件下面是代码: 1. test.asp <%rem 文章标题:在asp中通过vbs类实现rsa加密与解密rem 收集整理:yanekrem 联系:aspboy@263.net %><%Option Explicit%><!--#INCLUDE FILE="clsRSA.asp"-

在asp中通过vbs类实现rsa加密与解密

加密|解密 本文章有两文件组成test.asp 测试演示文件clsrsa.asp 实现rsa加密与解密的vbs类文件下面是代码: 1. test.asp <%rem 文章标题:在asp中通过vbs类实现rsa加密与解密rem 收集整理:yanekrem 联系:aspboy@263.net %><%Option Explicit%><!--#INCLUDE FILE="clsRSA.asp"--><% Dim LngKeyEDim LngKeyD

base64加密-base64 +异或加密问题,,如何解密??在线等

问题描述 base64 +异或加密问题,,如何解密??在线等 eNqlm92P7Fpa3v+VuYi054gJ8ke755TQkdK1q2y3q7y6yx9r2Q5c2Gt5tqu8XOWucrddFleJSGAQEMQEJkS5CAQlICAkFyggBASI+BoCE8j8PXne2owyHJgkKBdb5/TpbXt5rfd9nt+zls8HfapK/YV/8Es//Yf/+od+9Gd/4hd/5fu+49//8bvf+u1f/dZXf/mf/OIP//m7H/jsL7/+l7/wo7/

兼容PHP和Java的des加密解密代码分享_php实例

php代码: <?php class DES { var $key; var $iv; //偏移量 function DES($key, $iv=0) { $this->key = $key; if($iv == 0) { $this->iv = $key; } else { $this->iv = $iv; } } //加密 function encrypt($str) { $size = mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MO

数据-循环异或加密qiu解答

问题描述 循环异或加密qiu解答 利用异或运算来加密是简单的加密算法之一.现在我们在此基础上稍稍改变一下,循环异或加密的原理是,将缓冲区中的第i个字节异或上第i+1个字节,并将结果放入第i+1个字节的位置,如果第i字节已经是缓冲区的最后一个字节,那么将它与第1个字节异或,结果放入第1个字节的位置,完成最后一个字节后,算是一轮结束.举例来说,有如下3个字节大小的缓冲区0x01 0x02 0x03,那么,将0x01与0x02异或,结果放入原先0x02的位置,将0x02位置的新数据与0x03异或,结果

vbs后台运行bat删除自身的代码_vbs

知道真实路径的情况下 复制代码 代码如下: set fso=wscript.createobject("scripting.filesystemobject") fso.deletefile "c:\windows\system32\run.cmd" fso.deletefile "c:\windows\system32\run.vbs" 不知道具体的路径情况下,可以用如下代码: 复制代码 代码如下: Set fso =CreateObject(