Знак степени - что обозначает ^ в php

  • Автор темы Автор темы Demona
  • Дата начала Дата начала

Demona

Новичок
Знак степени - что обозначает ^ в php

Стыдно, но абсолютно забыла что обозначает ^ в php. Только вот по-моему не возведение в степень...
p.s. поиском по такому короткому обозначению не пройдешь и мануалы все пролистала, но в мат. разделах этой функции нет. :(
 
Demona
а в каком языке программирования этот знак означает возведение в степень ? о_О
 
Dovg

точно :) скажи еще в smallTalke (и не только) на него можно повесить любой метод ))
 
чисто в математике и Basic'e :)
Спасибо за ответы, у меня крутилось в голове про битовые операции, XOR, но с ними я особо дела не имела, поэтому не смогла корректно разобраться.

p.s. и заодно вопрос - имеется срока, закодированная следующим образом:

PHP:
$st = "Hello";
$str = "";
for ($i = 0; $i < strlen($st); $i++) 
{ 
$str .= (substr($st, $i++, 1) ^ substr($st, $i, 1)); 
}

Можно ли каким-то образом провести обратную операцию(думаю что нет) или операцию которая создать строчку дающую такую же str на выходе? Или только подбор?
 
Demona

что это за ужас?

1. strlen в цикле это зло
2. 1 лишняя итерация
3. зачем эти пляски с substr? что такое строка?
 
это такая идиотская "хэш-функция", кажется
да :) я поспорила с одним из друзей (кодирующий код не мой), что смогу провести обратный инжиринг для его кодирующей функции или хотя бы обману итоговую проверку... :)
Вот сейчас сижу и читаю все на эту тему.
 
Demona
Скажи своему другу, чтоб больше не брал в руки клавиатуру )
 
Да пока ничего, но поражения не будет :) Т.к. я хоть и не профи в php, но логику имею. И в принципе вижу, что это можно решить перебором. Только вот будет ли это оптимальным путем...
 
dimagolov
теперь человек обломается насчёт сисек :-(
 
строку ты и вправду не вернешь, поскольку результат всегда миниму в 2 раза короче исходной строки из-за инкремента в строке с конкатенацией.

если перебором, то, скорее всего, будет не один ответ.
 
я уверена, что будет не один ответ :), но мне без разницы - главное в конце получить значение от которого я отталкиваюсь делая обратный инжиринг. Что в начале - не важно. Там еще несколько преобразований (base64, хэширование в таком же стиле, но по ключу (причем ключ известен :) )), но теперь не вижу проблем.

2dimagolov - отдельное спасибо. Помогли все расставить на свои места.
 
Сверху