)]}'
{
  "commit": "9cffd74fdb65c69506a0ce1b19420a67ad0cb19e",
  "tree": "1a73f19b5b997e14439093177c3d6a621f404e4b",
  "parents": [
    "82f9853fc7d7360ae44f1e1357a6422c5244bbd8"
  ],
  "author": {
    "name": "Ellen Arteca",
    "email": "emarteca@google.com",
    "time": "Fri Jun 14 20:47:04 2024 +0000"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jul 22 23:57:36 2024 +0000"
  },
  "message": "Adds functionality for instantiating and using `Algorithm`\n\nThis CL moves some methods that exist in every hashing algorithm\nimplementation to the `Algorithm` trait; namely, `new`, `update`,\nand `digest`. This allows for clients to instantiate the hashing\nalgorithms, and to call `update` and `digest` on objects that\nhave this trait. It allows a generic representation of an algorithm\nthat can be used.\nIn order to avoid users of concrete instance of `Algorithm` to have\nto import `Algorithm` and every time they want to\nuse the functions implemented, these functions are also included in\nthe inherent implementation of each algorithm (as it was originally\nset up, except that now the methods call the equivalent method in the\nAlgorithm implementation\u0027\n\nThis CL also adds the block size as a const field in the `Algorithm`\ntrait.\n\nNote: this specifically supports the hashing algorithm use in the\nstyle of what is done in AOSP\u0027s\n`packages/modules/Virtualization/libs/apkverify`, which was previously\nusing the rust openssl `Hasher` to instantiate algorithms specified\nby their `MessageDigest`.\n\nRedoing Ic47691ee2a4303923519b246de7d9724da90f60d which has since\nbeen reverted.\n\nChange-Id: Ib7c02e79952491d814bb49a1ff8f23271b716414\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/69387\nCommit-Queue: Ellen Arteca \u003cemarteca@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "645ab80bd16a6ecc05396e871a90b6806e25c783",
      "old_mode": 33188,
      "old_path": "rust/bssl-crypto/src/digest.rs",
      "new_id": "0ef0e8bd97f8f941762a1d9e298d942b2c99079b",
      "new_mode": 33188,
      "new_path": "rust/bssl-crypto/src/digest.rs"
    },
    {
      "type": "modify",
      "old_id": "6ac3d37c3d39a4275734ba452f750792939f3ef1",
      "old_mode": 33188,
      "old_path": "rust/bssl-crypto/src/macros.rs",
      "new_id": "194aaac6bc454cde7f2d36128db2efa444b65b70",
      "new_mode": 33188,
      "new_path": "rust/bssl-crypto/src/macros.rs"
    }
  ]
}
