Google Authenticator is an application that implements two-step verification services using the Time-based One-time Password Algorithm (TOTP) and HMAC-based One-time Password Algorithm (HOTP), for authenticating users of mobile applications by Google. The service implements algorithms specified in RFC 6238 and RFC 4226. Authenticator provides a six- to eight-digit one-time password which users must provide in addition to their username and password to log in to Google services or other sites. The Authenticator can also generate codes for third-party applications, such as password managers or file hosting services.