// Finalize the hash and return the final hash value. protected override byte[] HashFinal() { // Bail out if the runtime engine does not have a provider. if (state == IntPtr.Zero) { throw new CryptographicException (_("Crypto_NoProvider"), "RIPEMD160"); } // Compute the hash and return it. byte[] hash = new byte [64]; lock (this) { CryptoMethods.HashFinal(state, hash); } return(hash); }