# Password Hashing Plugins

Extend the functionality of FusionAuth with plugins.

> For the index of this section of the site, see [llms.txt](https://fusionauth.io/docs/llms.txt)

FusionAuth provides a plugin mechanism that loads plugins at startup rather than at runtime. This provides much better performance than a runtime plugin system.

Note

You must restart FusionAuth anytime a plugin is installed.

There are two steps to adding a plugin to FusionAuth:

1.  Write the plugin by implementing the correct plugin interface
2.  Install the plugin into your FusionAuth installation

Currently the only extension points offered by plugins are custom password hashing schemes.

Learn more about:

[Custom Password Hashing Learn how to write a FusionAuth plugin to implement a custom password hashing algorithm (also referred to a password encryptors).](https://fusionauth.io/docs/migrate/password-hashes/custom-password-hashing.md)

[Password-Hashing Algorithms This is a reference for all of the current password hashing algorithms support by FusionAuth out of the box.](https://fusionauth.io/docs/migrate/password-hashes/algorithms.md)

[Writing a Plugin Learn how to write a FusionAuth plugin.](https://fusionauth.io/docs/migrate/password-hashes/writing-a-plugin.md)

Related

[Migrate Writing a Plugin Learn how to write a FusionAuth plugin. java plugin](https://fusionauth.io/docs/migrate/password-hashes/writing-a-plugin.md)
---

## Other pages in Migrate

> For the full index of this section, see [Migrate](https://fusionauth.io/docs/llms-migrate.txt).

- [Export from FusionAuth](https://fusionauth.io/docs/migrate/export.md): Learn how to export your data from FusionAuth to migrate to another authentication service.
- [Generic Migration Tutorial](https://fusionauth.io/docs/migrate/genericmigration.md): How to migrate users from your custom authentication system to FusionAuth.
