# maci.comparefilehash

Compares a hash of the source file against the previously created file with the stored hash data, from using the [createfilehash](/docs/tools/hash-functions/maci.createfilehash.md) partner function, and returns a boolean if the hashes match.

{% hint style="info" %}
maci.comparefilehash  ->  bool
{% endhint %}

*Basic Example of comparing hash of a file against the stored hash using default positional parameters*

```python
result = maci.comparefilehash(src_file, dst_file)
```

In this example, we simply input the source file to hash and the destination file with the stored hash data using the comparefilehash function and pass the file locations as arguments to the function, the hashed data is then compared against the source file, and assign the returned result to a variable.&#x20;

To create the initial stored hashed data, see the partner function [createfilehash](/docs/tools/hash-functions/maci.createfilehash.md). This tool is designed to dependently work with its partner function.

### partner functions

Functions that are related for comparefilehash

[maci.createfilehash](/docs/tools/hash-functions/maci.createfilehash.md)  ->  Creates hash of a file, and stores the hash data to a newly created file

### parameters & arguments

Describes all parameter functionality and accepted data types

<details>

<summary>file_to_hash:  str | Path</summary>

First required positional argument. Accepts strings and [Path objects](https://docs.python.org/3/library/pathlib.html)

Use this parameter to point to your source filepath to get the hash.

</details>

<details>

<summary>stored_hash_file:  str | Path</summary>

Second required positional argument. Accepts strings and [Path objects](https://docs.python.org/3/library/pathlib.html)

Use this parameter to point to your destination filepath of the file with the stored hash data.

</details>

<details>

<summary>hash_algorithm:  str</summary>

Optional parameter. Accepts strings. Default = 'sha256'

Use this parameter to set the hash algorithm used for the hash. Default is sha256, which is a current common industry standard.

All options available: 'sha256', 'sha512', 'sha384', 'sha1', 'md5'

</details>

<details>

<summary>encoding:  str | None  <em><strong>(Removed in v.1.1.1)</strong></em></summary>

Optional parameter. Accepts strings or None. Default = None

Use this parameter to set the source file hashed data and the destination file containing the hashed data with the desired codec if needed. The default uses the default of python, so you don't have to use this, but you can if the data needs to be written with a specific codec.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.macilib.org/docs/tools/hash-functions/maci.comparefilehash.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
