@Override
    public int hashCode() {
        return Objects.hash(
            Arrays.hashCode(salt),
            Arrays.hashCode(storedKey),
            Arrays.hashCode(serverKey),
            iterations
        );
    }
@Test
    public void testEqualsSameInstance() {
        byte[] salt = {1, 2, 3};
        byte[] storedKey = {4, 5, 6};
        byte[] serverKey = {7, 8, 9};
        int iterations = 1000;

        ScramCredentialData data = new ScramCredentialData(salt, storedKey, serverKey, iterations);

        // Test equals method for same instance
        assertEquals(data, data);
        assertEquals(data.hashCode(), data.hashCode());
    }