static ByteBuffer deserializeBlobEncryptionKeyRecord(CrcInputStream crcStream)
        throws IOException, MessageFormatException {
      DataInputStream dataStream = new DataInputStream(crcStream);
      ByteBuffer blobEncryptionKey = Utils.readIntBuffer(dataStream);
      long actualCRC = crcStream.getValue();
      long expectedCRC = dataStream.readLong();
      if (actualCRC != expectedCRC) {
        logger.error("corrupt data while parsing blob key record, expected CRC {} Actual CRC {}", expectedCRC,
            actualCRC);
        throw new MessageFormatException("Blob Key is corrupt", MessageFormatErrorCodes.DataCorrupt);
      }
      return blobEncryptionKey;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|         |           |                      |            |
| version |   size    |  blob encryption key |     Crc    |
|(2 bytes)| (4 bytes) |  (n bytes)           |  (8 bytes) |
|         |           |                      |            |
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 version                - The version of the blob key

 size                   - The size of the blob key

 blob encryption key    - The blob encryption key in bytes

 crc                    - The crc of the blob key record
ambry-messageformat/src/main/java/com/github/ambry/messageformat/MessageFormatRecord.java