PHP 스크립트로 250MB까지 갈 수있는 파일을 변환해야합니다. 이들은 파일의 처음 266 바이트에 포함 된 설명과 키가있는 rc4 암호화로 암호화됩니다. 암호화 기능이 작동하고 그대로 유지해야합니다.라인별로 RC4 암호 해독
function rc4($key, $str) {
$s = array();
for ($i = 0; $i < 256; $i++) {
$s[$i] = $i;
}
$j = 0;
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;
$res = '';
for ($y = 0; $y < strlen($str); $y++) {
$i = ($i + 1) % 256;
$j = ($j + $s[$i]) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
$res .= $str[$y]^chr($s[($s[$i] + $s[$j]) % 256]);
}
return $res;
}
그리고 내 파일 읽기/암호 해독 코드는 여기에 있습니다 : : 여기있다 이전
$fin = fopen("input.txt", "rb");
$fout = fopen("output.txt", "wb");
$contents = fgets($fin,10);
$mykey = fgets($fin,256);
if($contents =="dump"){
while(!feof($fin))
{
$line = fgets($fin);
fwrite($fout, rc4($mykey, $line));
}
fclose($fin);
fclose($fout);
}
코드는 몇 가지 작은 파일을 수용하고 그것의 구멍 내용을 읽어 의해으로 변환되었다 rc4 함수에 전달 ... 이제 코드가 좀 더 큰 파일을 처리해야하므로 줄 단위로 처리해야합니다.
생성 된 파일이 손상되었습니다 ... rc4 암호화에 해독 할 "string"구멍이 있어야합니까? 내가 잘못한 일을하고 있니?
감사합니다.
왜 파일을 암호화하고 그 안에 키를 포함 시키시겠습니까? –
그것은 내 개념이 아닙니다! 난 그냥 해독해야 해. 보안 목적이 아닙니다. – Philibobby
운 좋게. 실제로 일반 텍스트보다 안전성이 떨어집니다. 실제로 당신이 안전하지 않을 때 안전하다고 믿게 만들 것입니다. –