2013-08-18 52 views
0

所以我想進入加密。所以我學會了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 

這裏是代碼整片:

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 

回答

0

這與其說是加密的,因爲它是混淆。

  1. 循環遍歷變量s中的每個字符。
  2. 抓住字符串中的下一個字符。
  3. 推進角色5個步驟。
  4. 將高級字符附加到新字符串。
  5. 循環遍歷整個字符串後,返回新的「已編碼」字符串。

它需要字母表中的一個字符,並將其右移5個字符,使'A'變成'F'。

檢查了這一點:ROT13

+1

其實這是加密(所謂的[凱撒密碼](http://en.wikipedia.org/wiki/Caesar_cipher)減去模運算)。雖然這個算法很弱。 –

+0

Touche。我想我可以讓我的觀點更清楚些。我喜歡避免使用像加密這樣的簡單算法,以避免實際安全隱含的含義。但是,是的,你是對的。 – Tombatron