1 - BLOB е моето предпочитание, защото кодирането му към base64 ще увеличи както пространството, така и времето за обработка (тъй като ще трябва също да декодирате base64, преди да дешифрирате)
2 - openssl_seal
не ви дава ключа, който е бил използван за криптиране на данните. Целта на env_keys е да съхранява криптираната форма на генерирания ключ. Когато извикате openssl_open, вие му давате този ключ за плик и частния ключ, който трябва да дешифрира ключа за плика. Частният ключ трябва да бъде съпоставен с публичния ключ, който е бил използван за генериране на ключа за плика.
3- Ако вашият частен ключ изисква парола, тогава технически вашите данни са относително безопасно. Дори и да имат ключа за плика и частния ключ, те няма да могат да го използват... но колко сигурна е вашата парола? Едно нещо, което трябва да разберете, е, че можетепочтите никога не гарантирайте напълно сигурна схема, но определено можете да направите това трудно за хакерите. Използвайте въображението си тук. Между другото, вашата парола в обикновен текст ли е в кода ви?