hi, i'm trying to store data files encryptypted in
postgres 8.1 database but i can`t make it works.
this is what i'm doing.
$link = pg_connect("host=$dbhost user=$dbuser
password=$dbpwd dbname=$dbname") or die(pg_last_error($link));
$fp = fopen($tmp_name, "rb");
$file= fread($fp,
filesize($tmp_name)); fclose($fp);
$file=pg_escape_bytea($file);
$sql = "INSERT INTO SOME_TABLE
(bytea_file) VALUES
(pgp_sym_decrypt_bytea($file,somepass,cipher-algo=aes256))";
pg_query($link, $sql) or
die(pg_last_error($link));
this error appear...
ERROR: column "content_of_bytea_file" does not
exist ( "content_of_bytea_file" is $file)
it seems that whant to the $file be a
column ... but thats not what the documentation says...
pgp_sym_decrypt(msg bytea, psw text [, options text ]) returns text
pgp_sym_decrypt_bytea(msg bytea, psw text [, options text ]) returns bytea
Decrypt a symmetric-key-encrypted PGP message.
Decrypting bytea data with pgp_sym_decrypt is
disallowed. This is to avoid outputting invalid character data. Decrypting
originally textual data with pgp_sym_decrypt_bytea
is fine.
The options parameter can contain option settings,
as described below.
Options are named to be similar to GnuPG. An option's value should be given
after an equal sign; separate options from each other with commas. For example:
pgp_sym_encrypt(data, psw, 'compress-algo=1, cipher-algo=aes256')
All of the options except convert-crlf apply only to
encrypt functions. Decrypt functions get the parameters from the PGP data.
The most interesting options are probably compress-algo and unicode-mode. The
rest should have reasonable defaults.
thanks
|