Mam taka funkcje w php która maskuje adres email w zależności od długości identyfikatora żytkownika.
- rozdziela on adres email względem znaku @
- pobiera długość identyfikatora użytkownika
- pobieram pierwsza i ostatnią litere tego identyfikatora
- sklejam maskowany email (pierwsza litera + ***** (tyle ile dlugosc identyfikatora - 2) + ostatni znak
- Wiec adres: alibababa@jaskinia.pl = a*******a@jaskinia.pl
- Adresy krotsze lub rowne 4 znaki wygladaja: zupa@waclaw.pl = **@waclaw.pl
function hiddenMail($mail) {
$arrayStr = explode('@', $mail);
$lenStr = strlen($arrayStr[0]);
if ($lenStr >= 4) {
$first = substr($arrayStr[0], 0, 1);
$last = substr($arrayStr[0], -1);
$lenStr = $lenStr - 2;
$hiddenEmail = $first;
for ($i = 0; $i < $lenStr; $i++) {
$hiddenEmail .= '*';
}
$hiddenEmail .= $last;
$hiddenEmail .= '@'.$arrayStr[1];
} else {
$hiddenEmail = '**@'.$arrayStr[1];
}
return $hiddenEmail;
}
Chciałbym zrobic taka funkcje na bazie postgresql zeby juz w zapytaniu otrzymać taki zamaskowany email. Czy ma ktoś może podobną funkcję lub wie gdzi emożna poszukać gotowego rozwiązania. Albo jak w psql rozdzielić pierwszą część maila to może coś wymyśle.