"K Old" <kevsurf4@hotmail.com> wrote:
> Hello,
>
> I am trying to load encrypted data (a credit card number encrypted by the
> Crypt::Twofish perl library) and postgres won't accept the data. I have
> tried escaping each character, and nothing works.
>
>
> For example a credit card number like
>
> 7384998737264839
>
> when encrypted by Crypt::Twofish would look like
>
> q�Օ�с.'�Ҍ�
>
> I cannot get postgres to accept this input. Any ideas of different
> datatypes, or ways I can get it to accept this highly encrypted string?
>
> I have several modules that encrypt the string with letters and numbers
> rather than symbols, etc. like Twofish, but would love to have this solution
> work.
How about using the MIME::Base64 module?
From MIME::Base64(3) :
use MIME::Base64;
$encoded = encode_base64('Aladdin:open sesame');
$decoded = decode_base64($encoded);
You could do something like this pseudo-code:
insert into db values ("userid", encode_base64($crypted));
($userid, $enc_cardno) = select * from db where userid = "Bob";
$cardno = decrypt(decode_base64($enc_cardno));
----------------------------------------------------------------------
| Jim Hranicky, Senior SysAdmin UF/CISE Department |
| E314D CSE Building Phone (352) 392-1499 |
| jfh@cise.ufl.edu http://www.cise.ufl.edu/~jfh |
----------------------------------------------------------------------