1 - BLOB är min preferens eftersom att koda den till base64 kommer att öka både utrymme och behandlingstid (eftersom du också måste avkoda base64 innan du dekrypterar)
2 - openssl_seal
ger dig inte nyckeln som användes för att kryptera data. Syftet med env_keys är att lagra det krypterade formuläret av den genererade nyckeln. När du anropar openssl_open ger du den den här kuvertnyckeln och den privata nyckel som den behöver för att dekryptera kuvertnyckeln. Den privata nyckeln måste matchas med den publika nyckeln som användes för att generera kuvertnyckeln.
3- Om din privata nyckel kräver en lösenfras, är dina data tekniskt sett relativt säker. Även om de har kuvertnyckeln och den privata nyckeln, kommer de inte att kunna använda det ... men hur säker är din lösenfras? En sak att inse är att du kan nästan garantera aldrig ett helt säkert system, men du kan definitivt göra det tufft för hackare. Använd din fantasi här. Btw, är din lösenordsfras i klartext i din kod?