dzheka3d
@dzheka3d

Как зашифровать и расшифровать строку с солью?

Всем привет! Есть ли функция или что-то подобное для шифрования строки для последующей расшифровки?
Например:
$shifr = func("строка", "соль");
echo un_func($shifr, 'соль');  // на выходе получаем "строка"
  • Вопрос задан
  • 2491 просмотр
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Упрощаем для модераторов понимание символа ^ :)
define("SALT","gfklhjr09j5FDGfkj49llkrjltreGuxLWQtKweKEMV4");
define("PASSWORD","ejhjkerht9348hhjkehtkjer");

function encode($String, $Password,$Salt) {
    $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;
}

$s='this is test string';
$enc=encode($s,PASSWORD,SALT);
$dec=encode($enc,PASSWORD,SALT);

echo 'Original string: '.$s.'<br>';
echo 'Encrypted string: '.base64_encode($enc).'<br>';
echo 'Decrypted string: '.$dec.'<br>';
Ответ написан
Соль для хеширования а не шифрования, как вам написал DevMan, из полученного хеша получить исходные данные невозможно, даже если известны все переменные. Вам нужно только шифрование без всякой соли.

Что-то типа
$shifr = func("строка", "Пароль");
echo un_func($shifr, 'Пароль');  // на выходе получаем "строка"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы