anchor.diff:  /**
    * Utility methods for working with message digests.
    */
  -class CryptoUtils {
  +abstract class CryptoUtils {
     /**
      * Convert a list of bytes (for example a message digest) into a hex
      * string.
  
positive.code:  * If multiple instances of a given Hash is needed the [newInstance]
   * method can provide a new instance.
   */
  interface Hash {
    /**
     * Add a list of bytes to the hash computation.
     */
  
negative.code:  * WARNING: MD5 has known collisions and should only be used when
   * required for backwards compatibility.
   */
  abstract class MD5 implements Hash {
    factory MD5() => new _MD5();
  }
  
  /**
  