Inserting encrypted data into postgres

Started by K Oldover 24 years ago2 messagesgeneral
Jump to latest
#1K Old
kevsurf4@hotmail.com

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.

Any help is appreciated.

Kevin
kevsurf4@hotmail.com

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

#2James F. Hranicky
jfh@cise.ufl.edu
In reply to: K Old (#1)
Re: Inserting encrypted data into postgres

"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 |
----------------------------------------------------------------------