Просто так:
$string = "password";
$mask_string = substr($string,0, 4) . str_repeat("*", strlen($string)-5) . substr($string, -1);
echo $mask_string;
---- Редактирование -----
Если вы хотите использовать процент, это может быть так:
$percent = 0.80; //80%
$string = "password";
$cut = round(strlen($string)*$percent);
$show = strlen($string)-$cut;
$mask_string = substr($string,0, $show) . str_repeat("*", $cut-1) . substr($string, -1);
echo $mask_string;