====CRAM-MD5====
CRAM-MD5 was discarded, because unsalted md5 hashes could can easily be uncoveredusing rainbow tables. However, most client bindings still provide support forthe outdated handshaking, as it only slightly differs from the new protocol:
# Client connects to server socket
# Server replies with <code>\00</code> (success) or <code>\01</code> (error)
Clients can easily be implemented It is possible to support both support {{Code|digest}} and {{Code|cram-md5}} authenticationin clients: If the first server response contains no colon, {{Code|cram-md5}} should be chosen.
===Command Protocol===