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

        byte[] salt2 = {9, 8, 7};
        byte[] storedKey2 = {6, 5, 4};
        byte[] serverKey2 = {3, 2, 1};
        int iterations2 = 2000;

        ScramCredentialData data1 = new ScramCredentialData(salt1, storedKey1, serverKey1, iterations1);
        ScramCredentialData data2 = new ScramCredentialData(salt2, storedKey2, serverKey2, iterations2);

        assertNotEquals(data1, data2);
        assertNotEquals(data1.hashCode(), data2.hashCode());
    }