diff --git a/acl/src/main/java/org/springframework/security/acls/domain/ObjectIdentityImpl.java b/acl/src/main/java/org/springframework/security/acls/domain/ObjectIdentityImpl.java index f664a92916..484b43a3a6 100644 --- a/acl/src/main/java/org/springframework/security/acls/domain/ObjectIdentityImpl.java +++ b/acl/src/main/java/org/springframework/security/acls/domain/ObjectIdentityImpl.java @@ -152,11 +152,9 @@ public class ObjectIdentityImpl implements ObjectIdentity { */ @Override public int hashCode() { - int code = 31; - code ^= this.type.hashCode(); - code ^= this.identifier.hashCode(); - - return code; + int result = this.type.hashCode(); + result = 31 * result + this.identifier.hashCode(); + return result; } @Override diff --git a/core/src/main/java/org/springframework/security/authentication/jaas/JaasGrantedAuthority.java b/core/src/main/java/org/springframework/security/authentication/jaas/JaasGrantedAuthority.java index aacc2c14a8..d6fc0b9a4f 100644 --- a/core/src/main/java/org/springframework/security/authentication/jaas/JaasGrantedAuthority.java +++ b/core/src/main/java/org/springframework/security/authentication/jaas/JaasGrantedAuthority.java @@ -58,7 +58,9 @@ public final class JaasGrantedAuthority implements GrantedAuthority { @Override public int hashCode() { - return 31 ^ principal.hashCode() ^ role.hashCode(); + int result = this.principal.hashCode(); + result = 31 * result + this.role.hashCode(); + return result; } @Override diff --git a/web/src/main/java/org/springframework/security/web/access/intercept/RequestKey.java b/web/src/main/java/org/springframework/security/web/access/intercept/RequestKey.java index 4452efd4cb..f309cc1909 100644 --- a/web/src/main/java/org/springframework/security/web/access/intercept/RequestKey.java +++ b/web/src/main/java/org/springframework/security/web/access/intercept/RequestKey.java @@ -45,14 +45,9 @@ public class RequestKey { @Override public int hashCode() { - int code = 31; - code ^= url.hashCode(); - - if (method != null) { - code ^= method.hashCode(); - } - - return code; + int result = this.url.hashCode(); + result = 31 * result + (this.method != null ? this.method.hashCode() : 0); + return result; } @Override diff --git a/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserGrantedAuthority.java b/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserGrantedAuthority.java index 56be8ef7ec..ff584ac534 100644 --- a/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserGrantedAuthority.java +++ b/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserGrantedAuthority.java @@ -70,7 +70,9 @@ public final class SwitchUserGrantedAuthority implements GrantedAuthority { @Override public int hashCode() { - return 31 ^ source.hashCode() ^ role.hashCode(); + int result = this.role.hashCode(); + result = 31 * result + this.source.hashCode(); + return result; } @Override diff --git a/web/src/main/java/org/springframework/security/web/util/matcher/AntPathRequestMatcher.java b/web/src/main/java/org/springframework/security/web/util/matcher/AntPathRequestMatcher.java index 6630d1a4d6..f734b4c6d2 100644 --- a/web/src/main/java/org/springframework/security/web/util/matcher/AntPathRequestMatcher.java +++ b/web/src/main/java/org/springframework/security/web/util/matcher/AntPathRequestMatcher.java @@ -220,11 +220,10 @@ public final class AntPathRequestMatcher @Override public int hashCode() { - int code = 31 ^ this.pattern.hashCode(); - if (this.httpMethod != null) { - code ^= this.httpMethod.hashCode(); - } - return code; + int result = this.pattern != null ? this.pattern.hashCode() : 0; + result = 31 * result + (this.httpMethod != null ? this.httpMethod.hashCode() : 0); + result = 31 * result + (this.caseSensitive ? 1231 : 1237); + return result; } @Override