helloamigo
Новичок
Помогите разобраться!!! Алгоритм RC4
Всем привет!
Столкнулся с такой задачей! По заданному ключу надо расшифровать шифр текст!
Реализация на PHP, но результат желаемый не достигнут....
Что не так????????????
Помогите знанием, люди добрые =)))
код ниже:
Всем привет!
Столкнулся с такой задачей! По заданному ключу надо расшифровать шифр текст!
Реализация на PHP, но результат желаемый не достигнут....
Что не так????????????
Помогите знанием, люди добрые =)))
код ниже:
PHP:
$key = $_POST['secretkey'];
$CONTENT = $_POST['text'];
$ct = $CONTENT;
function rc4Encrypt($key, $pt) {
$s = array();
for ($i=0; $i<256; $i++) {
$s[$i] = $i;
}
$j = 0;
$x;
for ($i=0; $i<256; $i++) {
$j = ($j + $s[$i] + ord($key[$i % strlen($key)])) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
}
$i = 0;
$j = 0;
$ct = '';
$y;
for ($y=0; $y<strlen($pt); $y++) {
$i = ($i + 1) % 256;
$j = ($j + $s[$i]) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
$ct .= $pt[$y] ^ chr($s[($s[$i] + $s[$j]) % 256]);
}
return $ct;
}
function rc4Decrypt($key, $ct) {
return rc4Encrypt($key, $ct);
}
function bin2asc($in)
{ $out = ''; for ($i = 0, $len = strlen($in); $i < $len; $i += 8)
{ $out .= chr(bindec(substr($in,$i,8))); }
return $out; }
echo "
<html>
<body>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>пример</title>
</head>
<h1>Расшифровка шифр текста алгоритм RC4</h1><br>
<form method = 'post' action = '{$_SERVER['PHP_SELF']}'>
Введите секретный ключ: <input type='text' name='secretkey' value='231'>
<br><br><br>
Введите шифртекст:<br> <TEXTAREA NAME='text' ROWS=17 COLS=50>
45 9 8 29 15 26 20 225 243 216 14 209 162 176 152 139 110 83 80 95 42 204 235 163 205 179 151 110 68 86 28 209 219 178 130 124 83 78 32 218 132 100 96 223 25 208 203 148 231 119 204 164 255 107 197 188 147 172 244 49 110 3 157 225 203 105 194 199 31 235 96 156 7 214 0 62 121 106 204 254 38 181 70 142 165 183 255 37 236 33 77 129 98 25 247 142 121 84 242 216 96 248 244 21 7 173 123 159 165 203 85 50 52 60 42 169 94 238 171 17 15 229 210 255 218 117 33 90 100 31 127 20 149 121 42 103 253 144 248 197 251 160 239 72 188 111 88 251 17 120 91 195 58 248 55 60 6 5 168 42 68 137 143 27 85 12 193 32 173 238 65 66 19 158 254 27 7 185 226 196 175 147 142 132 56 160 15 58 102 244 212 76 151 43 180 117 200 176 222 248 34 86 238 226 146 64 13 25 205 58 177 180 122 186 58 89 116 138 254 230 222 50 210 129 234 22 35 38 120 227 43 94 219 156 132
</TEXTAREA><br>
<input type='submit' value='Дешифровать'>
</form>
</body>
</html>";
$data = rc4Decrypt($key, $CONTENT);
echo bin2asc($data);
