)]}'
{
  "commit": "e308d5597327cdc76872a7ccfd8a79b8a4b71232",
  "tree": "0ae666a78f884e1e3a628ee06d43a0d672d3d254",
  "parents": [
    "400ea843c69350275474b607aa8b45c1cc403d81"
  ],
  "author": {
    "name": "Adam Langley",
    "email": "agl@golang.org",
    "time": "Tue Feb 01 11:02:48 2011 -0500"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@golang.org",
    "time": "Tue Feb 01 11:02:48 2011 -0500"
  },
  "message": "crypto: add package.\n\nThe crypto package is added as a common place to store identifiers for\nhash functions. At the moment, the rsa package has an enumeration of\nhash functions and knowledge of their digest lengths. This is an\nunfortunate coupling and other high level crypto packages tend to need\nto duplicate this enumeration and knowledge (i.e. openpgp).\n\ncrypto pulls this code out into a common location.\n\nIt would also make sense to add similar support for ciphers to crypto,\nbut the problem there isn\u0027t as acute that isn\u0027t done in this change.\n\nR\u003dbradfitzgo, r, rsc\nCC\u003dgolang-dev\nhttps://golang.org/cl/4080046\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "619e8aa26125eb83c751e38b6dde71df0595445d",
      "old_mode": 33188,
      "old_path": "src/pkg/Makefile",
      "new_id": "6ba6951afc360ac5d340db5e4f163b6c930b19f1",
      "new_mode": 33188,
      "new_path": "src/pkg/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "738a5206232ba0a094f3aec6ea925b3d9028ca12",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be6b34adf28442c9f3dbe1a9c8e838df7f44dc3e",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/crypto.go"
    },
    {
      "type": "modify",
      "old_id": "e13c986e68637ee372b2243524db2d02ede4192f",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/md4/md4.go",
      "new_id": "ee46544a920b32ee67864c9ed7508016769126ea",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/md4/md4.go"
    },
    {
      "type": "modify",
      "old_id": "54fddb63b93672468800606b07956294b1c89784",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/md5/md5.go",
      "new_id": "8f93fc4b354eecf94a467bad45352dfe47462969",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/md5/md5.go"
    },
    {
      "type": "modify",
      "old_id": "f3fa3bc834c4bf114336a05e888191c0f07b4c15",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/ocsp/ocsp.go",
      "new_id": "f42d8088884c30f0127f4c71468611af7f5b9e18",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/ocsp/ocsp.go"
    },
    {
      "type": "modify",
      "old_id": "5614f1360ebd441289b819398f6a653e6ae417af",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/ripemd160/ripemd160.go",
      "new_id": "6e88521c3f6c58c7afee82d390e4c04a868bd90b",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/ripemd160/ripemd160.go"
    },
    {
      "type": "modify",
      "old_id": "e4fc7d14a6b722c5c7939874f993056cf525d4ea",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/rsa/pkcs1v15.go",
      "new_id": "2eaadee24c2e964d042e1d94109d5a4fc1ff3762",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/rsa/pkcs1v15.go"
    },
    {
      "type": "modify",
      "old_id": "bf6306dc29b43351666f6fccdf6c6d0ac2480714",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/rsa/pkcs1v15_test.go",
      "new_id": "7b2ce08cb0bf5c96f43cfcad228e8a46bbc5fb3f",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/rsa/pkcs1v15_test.go"
    },
    {
      "type": "modify",
      "old_id": "8716c3591074b4845388926d97ed74f8755597b7",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/sha1/sha1.go",
      "new_id": "e6aa096e2a6b9c07ae1f7e8687b4d18efa1b4a12",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/sha1/sha1.go"
    },
    {
      "type": "modify",
      "old_id": "57a8ffa0d76c5afac4ebe5296287378f1af9e59f",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/sha256/sha256.go",
      "new_id": "69b356b4e5132297fad466df20b5bb159a1f06bb",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/sha256/sha256.go"
    },
    {
      "type": "modify",
      "old_id": "c3cda97d9681f469da8ad5a25fe7d38915c4605f",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/sha512/sha512.go",
      "new_id": "7e9f330e594a4c08c212d2d47ea28ebd09d9c802",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/sha512/sha512.go"
    },
    {
      "type": "modify",
      "old_id": "1ca33f59dd080cdfccc2c5351e922dd6523b3511",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/tls/handshake_client.go",
      "new_id": "19d2bfa3ba74f2d5cf613875720a748d46619dfc",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/tls/handshake_client.go"
    },
    {
      "type": "modify",
      "old_id": "955811ada35d3b3aceb89d6133135b99bd0ef60a",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/tls/handshake_server.go",
      "new_id": "af46ea51133dae2ae86e46988318f880c897ef93",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/tls/handshake_server.go"
    },
    {
      "type": "modify",
      "old_id": "861c64f04bb36635074c9cce3f46e2ccc81797e5",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/tls/key_agreement.go",
      "new_id": "8edbb11900c5f1dfa2b8f2db9b08c67d46cafc2e",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/tls/key_agreement.go"
    },
    {
      "type": "modify",
      "old_id": "6199e8db9f539df86d7c0bc43aa05182e330fe1a",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/x509/x509.go",
      "new_id": "599263432b551c3617dddf83c603fe3930cf0f6a",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/x509/x509.go"
    }
  ]
}
