Админские блоги Юрца

Обратимое шифрование в PHP

Обратимое шифрование в PHP

Стандартных средств не нашлось, возможно как то корректно и можно шифровать средствами MySQL, но тут нужно помудрить с кодировками... Возможно у меня не выходило это именно из за того, что все данные в UTF-8...

Пробовал подключать библиотеку для шифрования - mcrypt, вещь конечно шикарная... но на практике - не рентабельная.... Англоязычную строку шифрует англоязычным (ну или цифровым) паролем не долго, но вот чтобы зашифровать текстовую строку в UTF-8 на русском языке - требуется время.... Много времени... Очень много времени... строку из 20-символов и 5-значным паролем - шифровало минут 10.... Не есть гуд...

Нашел в сети само-писную функцию обратимого шифрования пароля:

//PHP функция для обратимого шифрования
//-------------------------------------
function encode($String, $Password){
    $Salt='BGuxLWQtKweKEMV4';
    $StrLen = strlen($String);
    $Seq = $Password;
    $Gamma = '';
    while (strlen($Gamma)<$StrLen){
        $Seq = pack("H*",sha1($Gamma.$Seq.$Salt));
        $Gamma.=substr($Seq,0,8);
    }
    return $String^$Gamma;
}

Вполне нормально, что функция будет криво шифровать кирилические символы, по этому в идеале обернуть их в Base64.

Как расшифровать строку? Вызовите функцию еще раз, указав два параметра - зашифрованная строка и пароль


Похожие статьи:

Обратимое шифрование данных в MySQL

Обратимое шифрование данных в MySQL

     

 


Понравилась статья? Поделитесь с друзьями: