przed CBA

Wiem, że może to głupie, ale aplikacja dla znajomych do przechowywania haseł loginów do innych stron.
Jako że to darmowy hosting to wolę , żeby nie było to w łatwy sposób dostępne. Jeśli ktoś z internautów przejdzie logowanie to nie dostanie czystych danych .
Wiem, że można złamać wszystko i najbezpieczniejsza baza danych to taka do której ma się dostęp będąc przy komputerze, ale już nie chcę popadać w skrajność.
Choć to szyfrowanie można nazwać skrajnością

). Ale jak tak chcą to czemu nie mogę spróbować. Obecnie mają to zrobione bez szyfrowania ( działa po https ).
Zrobiłem coś takiego i to by mi wystarczyło tylko nie wiem dlaczego po zdekodowaniu tekstu pojawiają mi się znaki zapytania ?
$key="W45Csd12K";
$sk="12345678";
$input="Mój prosty tekst czy będzie dobrze zaszyfrowany";
$ed=mcrypt_cbc(MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT,$sk);
$ed2=mcrypt_cbc(MCRYPT_3DES, $key, $ed, MCRYPT_DECRYPT,$sk);
Oki doszedłem , że te znaki zapytania to spacje. Dodałem mieszacza

i jest oki
$key="W45Csd12K";
$sk="12345678";
$input="Mój prosty tekst czy będzie dobrze zaszyfrowany.";
$ed=mcrypt_cbc(MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT,$sk);
$ed2=mcrypt_cbc(MCRYPT_3DES, $key, $ed, MCRYPT_DECRYPT,$sk);
Może to nie fachowe ale działa

Dzięki za pomoc. AAAA zapomniałem jak ustawić teraz pola w bazie danych ? standardowo zakładałem że na login jest varchar(50) na hasło varchar(25)
A w przypadku takich kombinacji to chyba lepiej ustawić na teks czy 255 powinno wystarczyć. Można to jakoś policzyć?