<@cjd> be careful of non a-zA-Z0-9_
They can be generated in bash with the following one-liner:
cat /dev/urandom | strings | head -n 50 | tr -d '\n"`\\ \t' | head -c 50 && echo OR tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n20`
On OpenWrt, the following shorter one-liner is used:
tr -cd 'A-Za-z0-9' 2> /dev/null < /dev/urandom | head -n 20