> Hi
> I encountered a problem not sure how to solve it. please help if
> possible.
> in oracle9 I do a simple encryption (using DES) that gives me the
> following RAW:
> F26D94ECDACDBD111584C7A8A9018A5C
> when decrypted I get 36463643363133313332333333343335 which is
> correct.
> However in java when I try decrypting the
> 'F26D94ECDACDBD111584C7A8A9018A5C' I get this:
> 3646364336313331c15fa7dfe9f98e24
> First 8 bytes are exactly the same, the other 8 bytes differ, why ?
> In Java I use the following code:
> Cipher dcipher = null;
> dcipher = Cipher.getInstance("DES/ECB/NoPadding");
> SecretKey myKey = new SecretKeySpec(_key, "DES");
> dcipher.init(_cryptMode, myKey);
> return dcipher.doFinal(_buffer);
> Obviously keys in both encryption and decryption are the same.
> Thanks for any hints.
On May 10, 6:13 pm, schw <schwa
@alpha.net.pl> wrote:
> Hi
> I encountered a problem not sure how to solve it. please help if
> possible.
> in oracle9 I do a simple encryption (using DES) that gives me the
> following RAW:
> F26D94ECDACDBD111584C7A8A9018A5C
> when decrypted I get 36463643363133313332333333343335 which is
> correct.
> However in java when I try decrypting the
> 'F26D94ECDACDBD111584C7A8A9018A5C' I get this:
> 3646364336313331c15fa7dfe9f98e24
> First 8 bytes are exactly the same, the other 8 bytes differ, why ?
> In Java I use the following code:
> Cipher dcipher = null;
> dcipher = Cipher.getInstance("DES/ECB/NoPadding");
> SecretKey myKey = new SecretKeySpec(_key, "DES");
> dcipher.init(_cryptMode, myKey);
> return dcipher.doFinal(_buffer);
> Obviously keys in both encryption and decryption are the same.
> Thanks for any hints.
I believe Oracle's implementation of DES in DBMS_OBFUSCATION_TOOLKIT
uses CBC mode, not ECB. This is why the first 64-bit block comes out
the same (the same initial state and key,) but all subsequent blocks
differ. Try decrypting with Cipher.getInstance("DES/CBC/NoPadding"),
this should work.
Hth,
Vladimir M. Zakharychev
N-Networks, makers of Dynamic PSP(tm)
http://www.dynamicpsp.com