     
     private var guards:[Char];
     
-
     init(salt:String!, minHashLength:UInt = 0, alphabet:String? = nil)
     {
         var _alphabet = (alphabet != nil) ? alphabet! : HashidsOpts.ALPHABET;

            let rrange = half_length..<(alphabet.count);
            ret = alphabet[rrange] + ret + alphabet[lrange];
            
            let excess = ret.count - half_length;
            if( excess > 0 )
            {
                let start = excess >> 1;
                ret = [Char](ret[start..<(start+half_length)])
            }
        }
        

    }
   
}

// MARK: Internal functions

internal func contains<T:CollectionType where T.Generator.Element:Equatable>(a:T, e:T.Generator.Element) -> Bool
{
