I am currently learning about the history of **Data integrity** / **Error detection**.

In the old days of tape drives, *LRC* was used for error detection. They were also used (at certain point in time) for ensuring data integrity. But nowadays, the work that *CRC* or *LRC* did, has been mostly replaced by Hashes (`MD5`, `SHA1` etc).

My questions are:

* What were some of the reasons, why CRC or LRC was replaced by Message Digests?
* Are these methods (LRC & CRC) still applicable/safe in modern day computing?

**P.S.:** I am asking this question from a cryptographic/Computer Security standpoint.