final Integer port, final String user, final String password, final String managerIp,
final Integer managerPort, final String managerUser, final String managerPassword,
final String agentIp, final Integer agentPort, final String agentUser,
final String agentPassword)
{
final Hasher hasher = Hashing.md5().newHasher();
// End point
hasher.putBytes(nullToEmpty(endPoint).getBytes());
// Host attributes
hasher.putBytes(nullToEmpty(ip).getBytes());
hasher.putBytes(nullToEmpty(user).getBytes());
hasher.putBytes(nullToEmpty(password).getBytes());
hasher.putBytes(extractPort(port).getBytes());
// Manager attributes
hasher.putBytes(nullToEmpty(managerIp).getBytes());
hasher.putBytes(nullToEmpty(managerUser).getBytes());
hasher.putBytes(nullToEmpty(managerPassword).getBytes());
hasher.putBytes(extractPort(managerPort).getBytes());
// Agent attributes
hasher.putBytes(nullToEmpty(agentIp).getBytes());
hasher.putBytes(nullToEmpty(agentUser).getBytes());
hasher.putBytes(nullToEmpty(agentPassword).getBytes());
hasher.putBytes(extractPort(agentPort).getBytes());
return hasher.hash().toString();
}