standardized hash generation