[freenet-dev] [freenet-cvs] r18968 - trunk/freenet/src/freenet/crypt

Florent Daignière nextgens at freenetproject.org
Sat Apr 5 03:13:53 UTC 2008


* Matthew Toseland <toad at amphibian.dyndns.org> [2008-04-04 19:12:05]:

> On Friday 04 April 2008 06:25, you wrote:
> > Author: nextgens
> > Date: 2008-04-04 05:25:41 +0000 (Fri, 04 Apr 2008)
> > New Revision: 18968
> > 
> > Modified:
> >    trunk/freenet/src/freenet/crypt/DSAPublicKey.java
> > Log:
> > implement DSAPublicKey.hashCode()
> > 
> > Modified: trunk/freenet/src/freenet/crypt/DSAPublicKey.java
> > ===================================================================
> > --- trunk/freenet/src/freenet/crypt/DSAPublicKey.java	2008-04-04 05:21:19 
> UTC (rev 18967)
> > +++ trunk/freenet/src/freenet/crypt/DSAPublicKey.java	2008-04-04 05:25:41 
> UTC (rev 18968)
> > @@ -163,6 +163,13 @@
> >  		return y.equals(o.y) && group.equals(o.group);
> >  	}
> >  
> > +	public int hashCode() {
> > +		int hash = 5;
> > +		hash = 61 * hash + (this.y != null ? this.y.hashCode() : 0);
> > +		hash = 61 * hash + (this.group != null ? this.group.hashCode() : 0);
> > +		return hash;
> > +	}
> 
> Arcane maths should really be justified in comments!

It's a standard pattern

> Is this something you 
> just made up or is there a reason for not just returning the xor of y and 
> group's hash codes?

I could have done that but I haven't :)

> Also, in what cases can they be null anyway? If they 
> cease to be null, the hash code would change ... but aren't they final?

The spec says they can be null (in equals as well, fixed in r19001)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://emu.freenetproject.org/pipermail/devl/attachments/20080405/6b20f8a3/attachment.pgp 


More information about the Devl mailing list