Ответы пользователя по тегу Базы данных
  • Требуется хранить пароль в базе - как?

    @BorisIvanov
    можно шифровать пароли следующим образом
    CREATE OR REPLACE FUNCTION el_encrypt
    (
    	value text
    )
    RETURNS bytea
    AS $BODY$
    BEGIN
    	RETURN pgp_pub_encrypt(value, dearmor(pg_read_file('pgpkeys/pgp-pg-el-public.key')));  
    END;
    $BODY$ LANGUAGE plpgsql
    SECURITY DEFINER;


    расшифровывать

    CREATE OR REPLACE FUNCTION el_decrypt
    (
    	value bytea
    ) RETURNS text AS 
    $BODY$
    BEGIN
     RETURN pgp_pub_decrypt(value, dearmor(pg_read_file('pgpkeys/pgp-pg-el-private.key')));
    END;
    $BODY$
    LANGUAGE plpgsql
    SECURITY DEFINER;


    при получении дампа базы, данные не возможно прочесть без ключей, ключи хранятся в файловой системе. это достаточно простой и относительно защищенный вариант хранения. как генерить ключи есть в описании postgresql
    Ответ написан
    Комментировать