Exemple #1
0
 /// <inheritdoc />
 public override int GetHashCode()
 {
     unchecked {
         int hashCode = SymmetricCipher.GetHashCode();
         hashCode = (hashCode * 397) ^ Authentication.GetHashCode();
         hashCode = (hashCode * 397) ^ AuthenticationVerifiedOutput.GetHashCodeExt();
         hashCode = (hashCode * 397) ^ (KeyConfirmation != null ? KeyConfirmation.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (KeyConfirmationVerifiedOutput != null ? KeyConfirmationVerifiedOutput.GetHashCodeExt() : 0);
         hashCode = (hashCode * 397) ^ KeyDerivation.GetHashCode();
         hashCode = (hashCode * 397) ^ EphemeralKey.GetHashCode();
         return(hashCode);
     }
 }
Exemple #2
0
 /// <inheritdoc />
 public bool Equals(Um1HybridManifestCryptographyConfiguration other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return
         ((KeyConfirmation == null ? other.KeyConfirmation == null : KeyConfirmation.Equals(other.KeyConfirmation)) &&
          (KeyConfirmationVerifiedOutput == null
             ? other.KeyConfirmation == null
             : KeyConfirmationVerifiedOutput.SequenceEqualShortCircuiting(other.KeyConfirmationVerifiedOutput)) &&
          KeyDerivation.Equals(other.KeyDerivation) &&
          SymmetricCipher.Equals(other.SymmetricCipher) &&
          Authentication.Equals(other.Authentication) &&
          AuthenticationVerifiedOutput.SequenceEqualShortCircuiting(other.AuthenticationVerifiedOutput) &&
          EphemeralKey.Equals(other.EphemeralKey));
 }