Sorry if this is off topic because it is a command line solution:
zip -9 -r -e foo.zip foo/
The -e argument will cause zip to ask for a password.
That said, I usually create a normal ZIP file, then use GPG to encrypt it and make sure clients have my public key.