# OTP Calculator

## Summary
This calculator generates passwords for OTP or S/Key one-time-password systems.

## Canonical URL
https://selfserve.apache.org/otp-md5.html

## Service managed by this feature
Not applicable

## Intended audience
This feature is intended for all.

## Access level(s) required
Open to all.

## Notification scheme
Not applicable
