001    /**
002     *
003     *  Licensed to the Apache Software Foundation (ASF) under one or more
004     *  contributor license agreements.  See the NOTICE file distributed with
005     *  this work for additional information regarding copyright ownership.
006     *  The ASF licenses this file to You under the Apache License, Version 2.0
007     *  (the "License"); you may not use this file except in compliance with
008     *  the License.  You may obtain a copy of the License at
009     *
010     *     http://www.apache.org/licenses/LICENSE-2.0
011     *
012     *  Unless required by applicable law or agreed to in writing, software
013     *  distributed under the License is distributed on an "AS IS" BASIS,
014     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     *  See the License for the specific language governing permissions and
016     *  limitations under the License.
017     */
018    
019    package org.apache.geronimo.util.crypto.params;
020    
021    public class DHValidationParameters
022    {
023        private byte[]  seed;
024        private int     counter;
025    
026        public DHValidationParameters(
027            byte[]  seed,
028            int     counter)
029        {
030            this.seed = seed;
031            this.counter = counter;
032        }
033    
034        public boolean equals(
035            Object o)
036        {
037            if (o == null || !(o instanceof DHValidationParameters))
038            {
039                return false;
040            }
041    
042            DHValidationParameters  other = (DHValidationParameters)o;
043    
044            if (other.counter != this.counter)
045            {
046                return false;
047            }
048    
049            if (other.seed.length != this.seed.length)
050            {
051                return false;
052            }
053    
054            for (int i = 0; i != other.seed.length; i++)
055            {
056                if (other.seed[i] != this.seed[i])
057                {
058                    return false;
059                }
060            }
061    
062            return true;
063        }
064    }