leha2002828
@leha2002828
Программирование php/html

Как убрать лишний текст из строки?

Есть строка:
$SHA$7b11fd7c3568e2cf$2e0380db347bbc210bb10c117dbcb7a7fdba831513eec387666571c7a3ca051e

Нужно разделить на хеш и соль.
$salt = 7b11fd7c3568e2cf

$hash = 2e0380db347bbc210bb10c117dbcb7a7fdba831513eec387666571c7a3ca051e

А остальное убрать. Как преобразовать такое?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 2
Stimulate
@Stimulate
могу
$var = '$SHA$7b11fd7c3568e2cf$2e0380db347bbc210bb10c117dbcb7a7fdba831513eec387666571c7a3ca051e';
$var = str_replace('$SHA$', '', $var);
$var_a = explode('$', $var);
$salt = $var_a[0];
$hash = $var_a[1];

echo $salt.'<br/>'.$hash;
Ответ написан
Комментировать
kimono
@kimono
Web developer
$str = '$SHA$7b11fd7c3568e2cf$2e0380db347bbc210bb10c117dbcb7a7fdba831513eec387666571c7a3ca051e';
$parts = explode('$', $str);
$salt = $parts[2];
$hash = $parts[3];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
$regexp = '/^\$SHA\$([a-f0-9]+)\$([a-f0-9]+)$/';
$hash = '$SHA$7b11fd7c3568e2cf$2e0380db347bbc210bb10c117dbcb7a7fdba831513eec387666571c7a3ca051e';
$matches = [];
preg_match($regexp, $hash, $matches);

echo 'Хэш: ', $matches[2], '. Соль: ', $matches[1], '.';


Regex101.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы