午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    VBS 十六進制異或加密實現(xiàn)代碼
    來源:易賢網(wǎng) 閱讀:1487 次 日期:2014-05-09 16:53:27
    溫馨提示:易賢網(wǎng)小編為您整理了“VBS 十六進制異或加密實現(xiàn)代碼”,方便廣大網(wǎng)友查閱!

    文件不要過大,最好不要超過 100 KB,密鑰不要用數(shù)字,不想改了。理論上支持任何二進制文件格式

    效果圖:

    1.jpg

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

    代碼如下:

    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

    更多信息請查看IT技術專欄

    更多信息請查看腳本欄目
    易賢網(wǎng)手機網(wǎng)站地址:VBS 十六進制異或加密實現(xiàn)代碼

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)