2013-08-18 3 views
0

Так что я хотел получить шифрование. Так я узнал vbscript. Я увидел фрагмент кода, который я мог бы прочитать на половину, но другая половина его я мог прочитать. И нет там, где в Интернете было место, где он объяснял, что означают эти строки кода. Может кто-нибудь сказать мне, что эти строки кода сделать:VBScript Logic непонятен.

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