Here is a way to extract bytes32 out of a bytes array: function bytesToBytes32(bytes b, uint offset) private pure returns (bytes32) { bytes32 out; for (uint i = 0; i < 32; i++) { out |= bytes32(b[offset + i] & 0xFF) >> (i * 8); } return out; }