Помогите вернуть текст в читабельный вид

MeshBenth

Новичок
В php недавно - подскажите как вернуть текст в нормальный вид.
C# зашифровываю так текст
PHP:
private static string Encrypt(string text) {
    Byte[] buffer = Encoding.UTF8.GetBytes(text);
    for (int i = buffer.Length - 2; i >= 0; i--) {
        buffer ^= buffer[i + 1];
    }
    buffer[buffer.Length - 1] ^= buffer[0];
    return BitConverter.ToString(buffer).Replace("-", "");
}
 
Последнее редактирование модератором:

WMix

герр M:)ller
Партнер клуба
ну если ты сам в c# зашифровываешь текст что тебе мешает в этом же c# расшифровать?
 

MeshBenth

Новичок
ну если ты сам в c# зашифровываешь текст что тебе мешает в этом же c# расшифровать?
мешает то, что расшифровать нужно именно в php так как я передаю в POST запросе этот зашифрованный текст (IP|HWID|Имя пользователя) - поэтому мне при получение его и расшифровать.Но я новичек в php и прошу помощи с созданием функции расшифровки
 

fixxxer

К.О.
Партнер клуба
А. Я догадался. У тебя там
Код:
[i]
а на форуме это парсится как BBCode для Italic. :)
Используй тег
Код:
[code]
для вставки кода.
 

fixxxer

К.О.
Партнер клуба
Я не смогу помочь, пока не увижу настоящий код, не испорченный форумным парсером BBCode.

Я ж сразу предложил https://dotnetfiddle.net
 

fixxxer

К.О.
Партнер клуба
PHP:
function decrypt($s) {
    $bytes = array_map('hexdec', str_split($s, 2));
    $len = count($bytes);
    $bytes[$len - 1] ^= $bytes[0];
    for ($i = 0; $i < $len - 1; $i++) {
        $bytes[$i] ^= $bytes[$i + 1];
    }
    return join('', array_map('chr', $bytes));
}
 

fixxxer

К.О.
Партнер клуба
Что пусто? Вон внизу по моей ссылке видишь output?

Короче, я тебе дал готовое решение, причем бесплатно, доказывать, что оно работает, не собираюсь. Сам уж разбирайся где ты тупишь.
 

MeshBenth

Новичок
А что там за "|" в конце строк? Не было такого в условии.

https://3v4l.org/Knj1D - все работает.
Код:
<?php
$s1 = '2F1346287E0460257347236432471D5A0C672B510075387B3A550469502642057D0B5205573B58324126743375451C4F0D5E045C1A2B712967571C4D704D451020762573184E1D094410770D412B62521F5C68115C1F2B521C5D605D490450374D016B22125F1C28511C5F6B125C1D201D15583255226F3B6E5357194875484C017B3A0713701D4B7918400E7E1C2E1B612D431125410012';
echo ' 1 ' .decrypt($s1);

function decrypt($s) {
    $bytes = array_map('hexdec', str_split($s, 2));
    $len = count($bytes);
    $bytes[$len - 1] ^= $bytes[0];
    for ($i = 0; $i < $len - 1; $i++) {
        $bytes[$i] ^= $bytes[$i + 1];
    }
    return join('', array_map('chr', $bytes));
}
?>
 

fixxxer

К.О.
Партнер клуба
Код:
fixxxer@mbp ~/tmp » cat 1.php
<?php
$s1 = '2F1346287E0460257347236432471D5A0C672B510075387B3A550469502642057D0B5205573B58324126743375451C4F0D5E045C1A2B712967571C4D704D451020762573184E1D094410770D412B62521F5C68115C1F2B521C5D605D490450374D016B22125F1C28511C5F6B125C1D201D15583255226F3B6E5357194875484C017B3A0713701D4B7918400E7E1C2E1B612D431125410012';
echo ' 1 ' .decrypt($s1);

function decrypt($s) {
    $bytes = array_map('hexdec', str_split($s, 2));
    $len = count($bytes);
    $bytes[$len - 1] ^= $bytes[0];
    for ($i = 0; $i < $len - 1; $i++) {
        $bytes[$i] ^= $bytes[$i + 1];
    }
    return join('', array_map('chr', $bytes));
}
?>
fixxxer@mbp ~/tmp » php 1.php
 1 <UnVzdEV4dGVuZGVkLzQuMCAoQm9vdGxvYWRlcjsgRGF0YSBSZXF1ZXN0KQ=U0VSVkVSMTgzLjI0MC4yMC4yNA==MTgzLjI0MC4yMC4yNA=MjgwMTU=NQ==MzA=cmV2aXNpb25zLnR4dA==
Что, блин, не так? Ты уже меня бесишь.

UPD: до меня дошло, ты в браузере чтоли смотришь? ахахаха. view source
 

MeshBenth

Новичок
Код:
fixxxer@mbp ~/tmp » cat 1.php
<?php
$s1 = '2F1346287E0460257347236432471D5A0C672B510075387B3A550469502642057D0B5205573B58324126743375451C4F0D5E045C1A2B712967571C4D704D451020762573184E1D094410770D412B62521F5C68115C1F2B521C5D605D490450374D016B22125F1C28511C5F6B125C1D201D15583255226F3B6E5357194875484C017B3A0713701D4B7918400E7E1C2E1B612D431125410012';
echo ' 1 ' .decrypt($s1);

function decrypt($s) {
    $bytes = array_map('hexdec', str_split($s, 2));
    $len = count($bytes);
    $bytes[$len - 1] ^= $bytes[0];
    for ($i = 0; $i < $len - 1; $i++) {
        $bytes[$i] ^= $bytes[$i + 1];
    }
    return join('', array_map('chr', $bytes));
}
?>
fixxxer@mbp ~/tmp » php 1.php
 1 <UnVzdEV4dGVuZGVkLzQuMCAoQm9vdGxvYWRlcjsgRGF0YSBSZXF1ZXN0KQ=U0VSVkVSMTgzLjI0MC4yMC4yNA==MTgzLjI0MC4yMC4yNA=MjgwMTU=NQ==MzA=cmV2aXNpb25zLnR4dA==
Что, блин, не так? Ты уже меня бесишь.

UPD: до меня дошло, ты в браузере чтоли смотришь? ахахаха. view source
и как мне вывести в браузер?там user agent и тд - чтобы сравнить и вывести в echo
 

fixxxer

К.О.
Партнер клуба
Результат декодирования начинается с "<". Что в языке HTML начинается с "<"?

echo htmlspecialchars(decrypt($s1));

ну или оберни в <xmp> ... </xmp>

А вообще отлаживать надо не в браузере.
 
Сверху