bionic (3) md5crypt.3tcl.gz

Provided by: tcllib_1.19-dfsg-2_all bug

NAME

       md5crypt - MD5-based password encryption

SYNOPSIS

       package require Tcl  8.2

       package require md5  2.0

       package require md5crypt  ?1.1.0?

       ::md5crypt::md5crypt password salt

       ::md5crypt::aprcrypt password salt

       ::md5crypt::salt ?length?

________________________________________________________________________________________________________________

DESCRIPTION

       This  package  provides  an implementation of the MD5-crypt password encryption algorithm as pioneered by
       FreeBSD and currently in use as a replacement for the unix crypt(3) function in many modern  systems.  An
       implementation  of  the closely related Apache MD5-crypt is also available.  The output of these commands
       are compatible with the BSD and OpenSSL implementation of md5crypt and the Apache 2 htpasswd program.

COMMANDS

       ::md5crypt::md5crypt password salt
              Generate a BSD compatible md5-encoded password hash from the plaintext password and a random  salt
              (see SALT).

       ::md5crypt::aprcrypt password salt
              Generate  an  Apache compatible md5-encoded password hash from the plaintext password and a random
              salt (see SALT).

       ::md5crypt::salt ?length?
              Generate a random salt string suitable for use with the md5crypt and aprcrypt commands.

SALT

       The salt passed to either of the encryption schemes implemented here is checked to see if it begins  with
       the encryption scheme magic string (either "$1$" for MD5-crypt or "$apr1$" for Apache crypt). If so, this
       is removed. The remaining characters up to the next $ and up to a maximum of 8 characters are  then  used
       as  the  salt.  The salt text should probably be restricted the set of ASCII alphanumeric characters plus
       "./" (dot and forward-slash) - this is to preserve maximum compatability  with  the  unix  password  file
       format.

       If  a  password  is being generated rather than checked from a password file then the salt command may be
       used to generate a random salt.

EXAMPLES

              % md5crypt::md5crypt password 01234567
              $1$01234567$b5lh2mHyD2PdJjFfALlEz1

              % md5crypt::aprcrypt password 01234567
              $apr1$01234567$IXBaQywhAhc0d75ZbaSDp/

              % md5crypt::md5crypt password [md5crypt::salt]
              $1$dFmvyRmO$T.V3OmzqeEf3hqJp2WFcb.

BUGS, IDEAS, FEEDBACK

       This document, and the package it describes, will undoubtedly contain bugs and  other  problems.   Please
       report  such  in  the  category  md5crypt  of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist].
       Please also report any ideas for enhancements you may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

SEE ALSO

       md5

KEYWORDS

       hashing, md5, md5crypt, message-digest, security

CATEGORY

       Hashes, checksums, and encryption

       Copyright (c) 2003, Pat Thoyts <patthoyts@users.sourceforge.net>