added rand bytes function, but only yields up to 32 random bytes because I don't know how to get a variable length read from /dev/urandom in util.cpp