Forum: Ruby Legacy encryption function...

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
33681777324bac1d293573fc5d063ff5?d=identicon&s=25 Alex Folgueras (afolgueras)
on 2009-04-27 17:19
Hello everyone, I have an old Java authentication web service that I
must use in my rails development. The service takes a username and an
encrypted password. I'm having trouble reproducing the same encryption
algorithm.

Here is the Java encryption function:
  public static String digest(String text)
  {
    MessageDigest mDigest = null;
    try
    {
      mDigest = MessageDigest.getInstance("SHA");


      mDigest.update(text.toUpperCase().getBytes("UTF-8"));
    } catch (NoSuchAlgorithmException nsae) {
      nsae.printStackTrace();
    } catch (UnsupportedEncodingException uee) {
      uee.printStackTrace();
    }
    byte[] raw = mDigest.digest();
    return new BASE64Encoder().encode(raw);
  }


Here is the Ruby encryption function:
...
require 'digest/sha1'
Base64.encode64(Digest::SHA1.hexdigest('ruby'))
...


Now here is the resulting String calling the Java function with the
string 'ruby':
"oJtN1kHfQdCCLFN7ATWgAxIH6bc="


Here is what I get with my Ruby function for the same string:
"MThlNDBlMTQwMWVlZjY3ZTFhZTY5ZWZhYjA5YWZiNzFmODdmZmI4MQ==\n"


So, anybody knows what I'm doing wrong?
Cd0dbf751457cf6fed1f69070d37006a?d=identicon&s=25 Charles Johnson (Guest)
on 2009-04-27 17:52
(Received via mailing list)
On Apr 27, 2009, at 10:19 AM, Alexandre Alex wrote:

>    {
>    return new BASE64Encoder().encode(raw);
> Now here is the resulting String calling the Java function with the
> Posted via http://www.ruby-forum.com/.
>
What happens if you do this:

mDigest = MessageDigest.getInstance("SHA-1");

Cheers--

Charles
---
Charles Johnson
Advanced Computing Center for Research and Education
Vanderbilt University
Cd0dbf751457cf6fed1f69070d37006a?d=identicon&s=25 Charles Johnson (Guest)
on 2009-04-27 18:00
(Received via mailing list)
On Apr 27, 2009, at 10:51 AM, Charles Johnson wrote:

> Vanderbilt University
Stupid me. SHA probably *is* sha-1 in the Java world. :(

Cheers--

Charles
---
Charles Johnson
Advanced Computing Center for Research and Education
Vanderbilt University
33681777324bac1d293573fc5d063ff5?d=identicon&s=25 Alex Folgueras (afolgueras)
on 2009-04-27 19:07
Charles Johnson wrote:
> On Apr 27, 2009, at 10:51 AM, Charles Johnson wrote:
>
>> Vanderbilt University
> Stupid me. SHA probably *is* sha-1 in the Java world. :(
>
> Cheers--
>
> Charles
> ---
> Charles Johnson
> Advanced Computing Center for Research and Education
> Vanderbilt University

No problem, in fact I found my problem. I have to use the digest
function instead of hexdigest...

Thanks anyway!
This topic is locked and can not be replied to.