     /// - parameter algorithm:  A generator's algorithm.
     /// - returns: A tuple of a CommonCrypto hash algorithm and the corresponding hash length.
     @warn_unused_result
-    internal static func hashInfoForAlgorithm(algorithm: Algorithm) -> (algorithm: CCHmacAlgorithm, length: Int) {
+    private static func hashInfoForAlgorithm(algorithm: Algorithm) -> (algorithm: CCHmacAlgorithm, length: Int) {
         switch algorithm {
         case .SHA1:
             return (CCHmacAlgorithm(kCCHmacAlgSHA1), Int(CC_SHA1_DIGEST_LENGTH))

    }

    @warn_unused_result
    internal static func validatePeriod(period: NSTimeInterval) -> Bool {
        // The period must be positive and non-zero to produce a valid counter value.
        return (period > 0)
    }

    @warn_unused_result
    internal static func validateTime(timeInterval: NSTimeInterval) -> Bool {
        // The time interval must be positive to produce a valid counter value.
        return (timeInterval >= 0)
    }

    // MARK: Validation

    @warn_unused_result
    private static func validateDigits(digits: Int) -> Bool {
        // https://tools.ietf.org/html/rfc4226#section-5.3 states "Implementations MUST extract a
        // 6-digit code at a minimum and possibly 7 and 8-digit codes."
        let acceptableDigits = 6...8
