in reply to CBC:Crypt and Oracle

Any guesses as to why this error message occurs?

Guessing is not required :) its a problem with the data :)

Since we're reading an ecrypted BLOB, could there be a characterset incompatability that's messing up the header?

Its possible -- you can find out by eliminating DBI and the database from the equation, and working with a binmodeed file . If problem remains, Dumper- some dummy data and share :)

Or is there some other really obvious thing I should be doing?

I would use Crypt::CBCeasy

Why? Consider these nodes Simple Crypt::CBC Sample?, Crypt::CBC how does the header/salt work?, Re: Customer data encryption (Crypt::CBC)

Now I you become versed in block ciphers and blah blah blah, or I could figure out which CBCEasy function works for the data I have and use that

I prefer simplest api possible