国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

VBS 十六進制異或加密實現(xiàn)代碼

2020-06-26 18:35:16
字體:
供稿:網(wǎng)友
文件不要過大,最好不要超過 100 KB,密鑰不要用數(shù)字,不想改了。理論上支持任何二進制文件格式
 
效果圖:

VBS 十六進制異或加密實現(xiàn)代碼

代碼都封裝成函數(shù)了,方便調(diào)用:

 

復(fù)制代碼代碼如下:

Key = "www-enun-net" '不要用數(shù)字

 

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

 

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临桂县| 明光市| 盐边县| 石渠县| 涞水县| 荆州市| 治多县| 蕉岭县| 山阳县| 延川县| 汶上县| 通山县| 铜鼓县| 黄浦区| 博白县| 高淳县| 潍坊市| 革吉县| 阜康市| 余江县| 陇西县| 舒城县| 阿克| 鹤庆县| 江津市| 峡江县| 铁力市| 上杭县| 上高县| 阿合奇县| 报价| 峨边| 苏尼特右旗| 马尔康县| 莱芜市| 绵竹市| 金乡县| 革吉县| 大兴区| 清镇市| 台东市|