BTW: while this was reported for credit card number decryption, it would happen for any entity field with encrypt set to true.

I was working on this over the weekend and committed a couple of patches that failed to make a difference (testing against a real production database).

This time I actually reverted the code to the old state and created a fresh database with a credit card number in it, and then updated to the latest code to see what was broken and where.

Tracing it down the problem was not with the hex encoding or decoding of the encrypted credit card value (as I had thought), but instead was a problem the DES encryption key being used to decrypt being different than the one used to encrypt, and the reason is the ID for each key was SHA hashed and the hashing is what changed. So, now it looks up the DES keys for both the old and the new hash techniques and tries to decrypt with both of them.

This turned out to be the only possible fix because for systems updated recently they would have 2 DES keys for each entity, one with identified by the entity name with the old hash, and one with the new hash.

So, now updating with the patch from SVN rev 670731 things should work again.

If anyone runs into more trouble with this, please let me know!

-David

Reply via email to