moved string hash from client to common