anchor.diff:   * The [update] method is used to add data to the message. The [digest] method
    * is used to extract the message authentication code.
    */
  -interface HMAC default _HMAC {
  +abstract class HMAC {
     /**
      * Create an [HMAC] object from a [Hash] and a key.
      */
  -  HMAC(Hash hash, List<int> key);
  +  factory HMAC(Hash hash, List<int> key) => new _HMAC(hash, key);
   
     /**
      * Add a list of bytes to the message.
  
positive.code:  * WARNING: MD5 has known collisions and should only be used when
   * required for backwards compatibility.
   */
  interface MD5 extends Hash default _MD5 {
    MD5();
  }
  
  /**
  
negative.code: /**
   * Utility methods for working with message digests.
   */
  abstract class CryptoUtils {
    /**
     * Convert a list of bytes (for example a message digest) into a hex
     * string.
  