If salt bytes had high bit set, then char would sign extend, and put out fffffff0 instead of f0.
Typecasting to unsigned char for each char avoids the sign extend