I'm having a problem getting the Windows world and Java to talk (any suprises there? ). I'm trying to encrypt some text by creating a hash value via the SHA algorithm, creating a key with that hash value via the DES algorithm, and subsequently creating my ciphertext with the key.

Here's the problem. Say my text is "Here's some text to encrypt.", and my password is "FearFactory". If I create a hash value given the password, I get the same value in both worlds (in hex):

E0839567833BE35BF4345D651BA8571A0D9434E4

So far, so good. However, when I create the encrypted text, things get wacky. Here's the result I get via the CryptoAPI (in hex):

8AE5D736959D7B148C55BAFF31C0CF89C14315CE62707D7EC520FB919C79DF9D

And here's the result in the JCE world (in hex):

8AE5D736959D7B14F8996B1BE6AC438080034D3B9835C9AB8EE41D109994B081

Note that the first 8 bytes are the same; after that, things fall apart. Also note that I can look at the raw key information in Java (i.e. its content in bytes), but the CryptoAPI doesn't let you see that information because it's a symmetric and therefore private key. Windows won't let you see the private key in bytes, as far as I can tell (although I may be wrong on this).

I didn't want to paste the code right now (to save on space), but if someone has an idea as to what the problem is and/or is willing to figure out what the discrepancy is, I'd be more than happy to post my test code. If you have ANY insight into this problem, I'd greatly appreciate your help.

Regards,

Jason

P.S. I didn't want to cross-post this to honor DevX's newsgroup policy, but I'm kind of stuck in this case posting it to one group. Would anybody object if I posted this to a Java group on DevX's server in the near future if nothing materializes here?