Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2011
Помог: 0 раз(а)
|
Эта функция шифрует текст. Его потом можно будет расшифровать.
например
echo dsCrypt('php'); //Выведет "IQc" (без кавычек)
echo dsCrypt('IQc'); //Выведет "php";
PHP:
скопировать код в буфер обмена
<? /** * Обратимое шифрование методом "Двойного квадрата" (Reversible crypting of "Double square" method) * @param String $input Строка с исходным текстом * @param bool $decrypt Флаг для дешифрования * @return String Строка с результатом Шифрования|Дешифрования * @author runcore */ function dsCrypt($input,$decrypt=false) { $o = $s1 = $s2 = array(); // Arrays for: Output, Square1, Square2 // формируем базовый массив с набором символов $basea = array('?','(','@',';','$','#',"]","&",'*'); // base symbol set $basea = array_merge($basea, array('!',')','_','+','|','%','/','[','.',' ') ); $dimension=9; // of squares for($i=0;$i<$dimension;$i++) { // create Squares for($j=0;$j<$dimension;$j++) { $s1[$i][$j] = $basea[$i*$dimension+$j]; $s2[$i][$j] = str_rot13($basea[($dimension*$dimension-1 ) - ($i*$dimension+$j)]); } } $symbl = $m==strlen($input) ? '':$input[strlen($input)-1 ]; // last symbol (unpaired) // crypt/uncrypt pairs of symbols for ($ii=0; $ii<$m; $ii+=2) { $symb1 = $symbn1 = strval($input[$ii]); $symb2 = $symbn2 = strval($input[$ii+1 ]); for($i=0;$i<$dimension;$i++) { // search symbols in Squares for($j=0;$j<$dimension;$j++) { if ($decrypt) { } else { } } } $symbn1 = $decrypt ? $s1[$a1[0]][$a2[1]] : $s2[$a1[0]][$a2[1]]; $symbn2 = $decrypt ? $s2[$a2[0]][$a1[1]] : $s1[$a2[0]][$a1[1]]; } $o[] = $symbn1.$symbn2; } $o[] = $decrypt ? $s1[$al[1]][$al[0]] : $s2[$al[1]][$al[0]]; } ?>
Взял здесь(Отредактировано автором: 12 Января, 2011 - 19:04:55)
|