标题 | 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 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。