源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-02-04 19:52 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:VBS 十六进制异或加密实现代码
效果图: [img]http://files.jb51.net/file_images/article/201307/20130729175426.gif[/img] 代码都封装成函数了,方便调用:
[u]复制代码[/u] 代码如下:
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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部