in src/main/java/org/apache/commons/net/pop3/POP3Client.java [279:315]
public boolean login(final String username, String timestamp, final String secret) throws IOException, NoSuchAlgorithmException {
int i;
final byte[] digest;
final StringBuilder buffer;
final StringBuilder digestBuffer;
final MessageDigest md5;
if (getState() != AUTHORIZATION_STATE) {
return false;
}
md5 = MessageDigest.getInstance("MD5");
timestamp += secret;
digest = md5.digest(timestamp.getBytes(getCharset()));
digestBuffer = new StringBuilder(128);
for (i = 0; i < digest.length; i++) {
final int digit = digest[i] & 0xff;
if (digit <= 15) { // Add leading zero if necessary (NET-351)
digestBuffer.append("0");
}
digestBuffer.append(Integer.toHexString(digit));
}
buffer = new StringBuilder(256);
buffer.append(username);
buffer.append(' ');
buffer.append(digestBuffer.toString());
if (sendCommand(POP3Command.APOP, buffer.toString()) != POP3Reply.OK) {
return false;
}
setState(TRANSACTION_STATE);
return true;
}