Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.05.2013, 13:12
Новичок на форуме
Отправить личное сообщение для mortivor Посмотреть профиль Найти все сообщения от mortivor
 
Регистрация: 10.05.2013
Сообщений: 5

Помогите сделать задание, пожалуйста.
function decrypt(s)
{
var r = "";
var key = arguments.callee.toString();
var l = key.length;
s = unescape(s);
for(i=0;i<s.length;i++)
r+=String.fromCharCode(s.charCodeAt(i) ^ key.charCodeAt(i % l));
return r;
}
eval(decrypt('IZ7%0C%01%1BO%05E%1DE%0A%01Y%3A%15%5 E%12znxJ%7D%7E%7F%11%1A9P%18%13%5C%11%13%18%09%22y %24%0D%03%06%13%00AM-O%06R%1C%09%5BI%1B%0A%15%19%2C%0D%08O%0AS%5BDK%23g '));

закоментите пожалуйста все строчки, сам в скриптах ни бум бум. в принципе понимаю только половину. пугает var key = arguments.callee.toString(); и r+=String.fromCharCode(s.charCodeAt(i) ^ key.charCodeAt(i % l));
Ответить с цитированием
  #2 (permalink)  
Старый 10.05.2013, 13:26
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

по любому из операторов, последовательности операторов можно загуглить . и прокоментить самостоятельно в течении получаса
Ответить с цитированием
  #3 (permalink)  
Старый 10.05.2013, 13:40
Новичок на форуме
Отправить личное сообщение для mortivor Посмотреть профиль Найти все сообщения от mortivor
 
Регистрация: 10.05.2013
Сообщений: 5

ну я загуглил оператор arguments.callee.toString, ни одного толкового объяснения с примерчиками не нашел, up
Ответить с цитированием
  #4 (permalink)  
Старый 10.05.2013, 13:48
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от mortivor
ну я загуглил оператор arguments.callee.toString, ни одного толкового объяснения с примерчиками не нашел, up
а ничего что он из 3х частей состоит? и вполне логично начинать гуглить с первой части?

http://www.google.com.ar/search?sour...w=1920&bih=911
Ответить с цитированием
  #5 (permalink)  
Старый 10.05.2013, 13:53
Новичок на форуме
Отправить личное сообщение для mortivor Посмотреть профиль Найти все сообщения от mortivor
 
Регистрация: 10.05.2013
Сообщений: 5

я конечно могу за ночь выучить java script(обещаю сделать это). не мог бы ты вычислить конечное r?
Ответить с цитированием
  #6 (permalink)  
Старый 10.05.2013, 14:00
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от mortivor
я конечно могу за ночь выучить java script(обещаю сделать это)
Приступайте.
Задача ваша, решение ее нужно вам, значит и решать ее нужно вам.
Если хотите чтобы другие за вас решили эту задачу, сначала следует объяснить почему это нужно другим людям
Сообщение от mortivor
не мог бы ты вычислить конечное r?
Для этого достаточно выполнить скрипт
Ответить с цитированием
  #7 (permalink)  
Старый 10.05.2013, 14:04
Новичок на форуме
Отправить личное сообщение для mortivor Посмотреть профиль Найти все сообщения от mortivor
 
Регистрация: 10.05.2013
Сообщений: 5

кхм, спасибо конечно за наставление на путь истинный... я бы сюда не писал, знай я каким образом выполнить скрипт и вывести результат. пытался через стандартный сервер скриптов винды прогнать его, вписав в исходник вывод r до ретёрна. (если вам не трудно "прогоните" скрипт и напишите результат пожалуйста)
Ответить с цитированием
  #8 (permalink)  
Старый 10.05.2013, 14:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

function decrypt(s)
{
var r = "";
var key = arguments.callee.toString();
var l = key.length;
s = unescape(s);
for(i=0;i<s.length;i++)
r+=String.fromCharCode(s.charCodeAt(i) ^ key.charCodeAt(i % l));
return r;
}
alert(decrypt('IZ7%0C%01%1BO%05E%1DE%0A%01Y%3A%15%5 E%12znxJ%7D%7E%7F%11%1A9P%18%13%5C%11%13%18%09%22y %24%0D%03%06%13%00AM-O%06R%1C%09%5BI%1B%0A%15%19%2C%0D%08O%0AS%5BDK%23g '));
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 10.05.2013, 14:48
Новичок на форуме
Отправить личное сообщение для mortivor Посмотреть профиль Найти все сообщения от mortivor
 
Регистрация: 10.05.2013
Сообщений: 5

Спасибо, зашел на этом сайте в http://learn.javascript.ru/play и там попробовал выводить r после каждого шага цикла, получил "//Your key is JavaSd@w^_g{Kpj3a11:2(Y{bt3k$4
r&3nn.$~dajni#f6>j?L4" откуда квакозябры могли взяться?
Ответить с цитированием
  #10 (permalink)  
Старый 10.05.2013, 21:56
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Из arguments.callee.toString().
arguments.callee - это ссылка на саму функцию, т.е. в данном случае arguments.callee === decrypt. toString - приведение к строке. Т.е. key = 'function decrypt(s)
{
var r = "";
var key = arguments.callee.toString();
var l = key.length;
s = unescape(s);
for(i=0;i<s.length;i++)
r+=String.fromCharCode(s.charCodeAt(i) ^ key.charCodeAt(i % l));
return r;
}'


Это очень ненадёжный ключ, зависящий от кучи факторов, как то браузер, кодировка, переносы строки итд.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31
Помогите, пожалуйста! Agness Общие вопросы Javascript 2 04.04.2012 19:15
Помогите сделать тестовое задание начального уровня по js makregistr Работа 1 16.12.2010 14:26
ааа помогите пожалуйста срочно! White_Pony Общие вопросы Javascript 4 05.03.2010 01:56