SYNOPSIS
        string crypt(string str, int seed)
        string crypt(string str, string seed)
        string crypt(bytes str, int seed)
        string crypt(bytes str, string seed)

DESCRIPTION
        Crypt the string <str> the first two characters
        from the string <seed> as a seed. If <seed> is an integer, then
        a random seed is used.

        The result has the first two characters as the seed.

        If you want to let enter password information without echo,
        input_to() can be used with special argument.

SEE ALSO
        md5(E), md5_crypt(E), sha1(E), hash(E), hmac(E)
