diff options
Diffstat (limited to 'libjava/classpath/javax/crypto/spec/SecretKeySpec.java')
-rw-r--r-- | libjava/classpath/javax/crypto/spec/SecretKeySpec.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/libjava/classpath/javax/crypto/spec/SecretKeySpec.java b/libjava/classpath/javax/crypto/spec/SecretKeySpec.java index 4caf51a4615..86c4e05d4c9 100644 --- a/libjava/classpath/javax/crypto/spec/SecretKeySpec.java +++ b/libjava/classpath/javax/crypto/spec/SecretKeySpec.java @@ -133,14 +133,22 @@ public class SecretKeySpec implements KeySpec, SecretKey public boolean equals(Object o) { - byte[] okey = ((SecretKeySpec) o).getEncoded(); - if (key.length != okey.length) return false; - for (int i = 0; i < key.length; i++) + if (o instanceof SecretKeySpec) { - if (key[i] != okey[i]) + byte[] okey = ((SecretKeySpec) o).getEncoded(); + if (key.length != okey.length) return false; + for (int i = 0; i < key.length; i++) + { + if (key[i] != okey[i]) + return false; + } + return algorithm.equals(((SecretKeySpec) o).getAlgorithm()); + } + else + { + return false; } - return algorithm.equals(((SecretKeySpec) o).getAlgorithm()); } public int hashCode() |