В CheckedInputStream используется алгоритм Adler32, CRC32 или CRC32C
DigestInputStream использует SHA1 или SHA256
Для контроля целостности подходят они оба.
Дальше уже сам выбирай, что тебе важнее: производительность или безопасность.
Проверить целостность данных можно ими всеми, но если есть риск того, что злоумышленник вызовет коллизию в алгоритме - лучше взять SHA1 или SHA256, тк к ним коллизию найти на порядки сложнее, чем для crc32 или adler32 как минимум из-за того что различается размер дайджеста.
А теперь про терминологию
число или хеш?
Хеш - это число.
А все перечисленные алгоритмы являются алгоритмами хеширования.