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

Demona

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

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

Ravanger

Новичок
Demona
а в каком языке программирования этот знак означает возведение в степень ? о_О
 

Ravanger

Новичок
Dovg

точно :) скажи еще в smallTalke (и не только) на него можно повесить любой метод ))
 

Demona

Новичок
чисто в математике и 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 на выходе? Или только подбор?
 

Ravanger

Новичок
Demona

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

1. strlen в цикле это зло
2. 1 лишняя итерация
3. зачем эти пляски с substr? что такое строка?
 

Ravanger

Новичок
и вообще раз уж так то надо юзать цикл вдвое меньшей длинны
 

Demona

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

Ravanger

Новичок
Demona
Скажи своему другу, чтоб больше не брал в руки клавиатуру )
 

zerkms

TDD infected
Команда форума
Demona
что будет в случае победы/поражения? :)
 

Demona

Новичок
Да пока ничего, но поражения не будет :) Т.к. я хоть и не профи в php, но логику имею. И в принципе вижу, что это можно решить перебором. Только вот будет ли это оптимальным путем...
 

zerkms

TDD infected
Команда форума
dimagolov
теперь человек обломается насчёт сисек :-(
 

Rumatha

Новичок
строку ты и вправду не вернешь, поскольку результат всегда миниму в 2 раза короче исходной строки из-за инкремента в строке с конкатенацией.

если перебором, то, скорее всего, будет не один ответ.
 

Demona

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

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