Почему в библиотеке базовых классов .NET нет классов CRC?
Почему в BCL нет классов CRC?
Ответы (2)
У Эрика Липперта есть лучшее объяснение «Почему функция X не реализована» (я думаю, он знает кое-что о том, почему или почему не реализованы вещи в языке)
Меня спрашивают: «Почему C# не реализует функцию X?» все время. Ответ всегда один и тот же: потому что никто никогда не проектировал, не определял, не реализовывал, не тестировал, не документировал и не поставлял эту функцию. Все шесть из этих вещей необходимы, чтобы фича появилась. Все они требуют огромных затрат времени, усилий и денег. Функции стоят недешево, и мы очень стараемся, чтобы поставлять только те функции, которые приносят максимальную пользу нашим пользователям, учитывая наши ограниченные бюджеты времени, усилий и денег.
Отсюда (неопубликованная тема, но соответствующий ответ): http://web.archive.org/web/20140414043740/http://blogs.msdn.com/b/ericlippert/archive/2009/06/22/why-doesn-t-c-implement-top-level-methods.aspx
Для них существуют хорошо зарекомендовавшие себя алгоритмы (и CRC также относительно прост в реализации по сравнению с шифрованием) и множество открытых реализаций на выбор.
http://tomkaminski.com/crc32-hashalgorithm-c-net