VBScript逻辑不清楚。

VBScript逻辑不清楚。,vbscript,Vbscript,所以我想进入加密领域。所以我学会了vbscript。我看到一段代码,我能读一半,但另一半我看不懂。互联网上没有一个地方解释了这些代码行的含义。谁能告诉我这些代码行的作用是什么 function encode(s) For i = 1 To Len(s) newtxt = Mid(s, i, 1) newtxt = Chr(Asc(newtxt)+5) coded = coded & newtxt Next encode = coded End Function 以下是完整的代码: s

所以我想进入加密领域。所以我学会了vbscript。我看到一段代码,我能读一半,但另一半我看不懂。互联网上没有一个地方解释了这些代码行的含义。谁能告诉我这些代码行的作用是什么

function encode(s)
For i = 1 To Len(s)
newtxt = Mid(s, i, 1)
newtxt = Chr(Asc(newtxt)+5)
coded = coded & newtxt
Next
encode = coded 
End Function
以下是完整的代码:

set x = WScript.CreateObject("WScript.shell")
mySecret = inputbox("enter text to be encoded") 
mySecret = StrReverse(mySecret)
x.Run "%windir%\notepad"
wscript.sleep 1000
x.sendkeys encode(mySecret)

function encode(s)
For i = 1 To Len(s)
newtxt = Mid(s, i, 1)
newtxt = Chr(Asc(newtxt)+5)
coded = coded & newtxt
Next
encode = coded 
End Function

这与其说是加密,不如说是混淆

  • 循环遍历变量
    s
    中的每个字符
  • 抓取字符串中的下一个字符
  • 将角色向前推进5步
  • 将高级字符追加到新字符串
  • 循环遍历整个字符串后,返回新的“编码”字符串 它将字母表中的一个字符向右移动5个字符,使“a”变成“F”


    检查一下:

    实际上是加密(一种所谓的减去模运算)。不过,该算法相当弱。我想我本可以把我的观点说得更清楚一点。当涉及到像这样的简单算法时,我喜欢避免使用像加密这样的词,以避免实际安全性的含义。但你是对的。