C# 从XML文档提取二进制CDATA以生成MD5校验和

C# 从XML文档提取二进制CDATA以生成MD5校验和,c#,xml,md5,checksum,cdata,C#,Xml,Md5,Checksum,Cdata,我得到了一份分配给我的工作,我有一些问题,因为我需要做一些逆向工程。以下代码是XML文件的一部分。此XML文件包含CDATA节中的二进制数据,此二进制数据是设备固件的一部分 <![CDATA[:020000040800F2 :20000000F0910120B55200007D5700007F570000815700208357002085570020000000009F :200020000000000000000000000000008757002089570020000000008B

我得到了一份分配给我的工作,我有一些问题,因为我需要做一些逆向工程。以下代码是XML文件的一部分。此XML文件包含CDATA节中的二进制数据,此二进制数据是设备固件的一部分

<![CDATA[:020000040800F2
:20000000F0910120B55200007D5700007F570000815700208357002085570020000000009F
:200020000000000000000000000000008757002089570020000000008B5700208D570020BC
:20004000ED570020F1570020F5570020F9570020FD5700200158002005580020095800200D
:200060000D5800201158002015580020195800201D580020215800202558002029580020E8
:200080002D5800203158002035580020395800203D580020415800204558002049580020C8
:2000A0004D5800205158002055580020595800205D580020615800206558002069580020A8
:2000C0006D5800207158002075580020795800207D58002081580020855800208958002088
:2000E0008F5700209158002091570020995800209D580020A1580020A5580020A95800206C
:20010000AD580020B1580020B5580020B9580020BD580020C1580020C5580020C958002047
...
:20FEA000000000000000000000000000000000000000000000000000000000000000000042
:20FEC000000000000000000000000000000000000000000000000000000000000000000022
:20FEE000000000000000000000000000000000000000000000000000000000000000000002
:20FF00000000000000000000000000000000000000000000000000000000000000000000E1
:20FF20000000000000000000000000000000000000000000000000000000000000000000C1
:20FF40000000000000000000000000000000000000000000000000000000000000000000A1
:20FF6000000000000000000000000000000000000000000000000000000000000000000081
:20FF8000000000000000000000000000000000000000000000000000000000000000000061
:20FFA000000000000000000000000000000000000000000000000000000000000000000041
:20FFC000000000000000000000000000000000000000000000000000000000000000B4F37A
:04000005200052B5D0
:00000001FF
]]>


此XML文件中的CDATA部分有数千行。我需要取出数据并以某种方式从中生成MD5校验和。我该怎么做才能以字节数组或类似方式读取此CDATA,从而生成MD5校验和?

看起来像EPROM数据。这样做了数百次。如果不包括校验和,则校验和应给出actaul校验和。{string input=“:20000000F0910120B5520007D5700007F57000815700208357002085570020000000009F”;byte[]bytes=input.Skip(1)。选择((x,i)=>new{data=x,index=i})。GroupBy(x=>x.index/2)。选择(x=>byte.Parse(x.First().data.ToString()+x.Last().data,System.Globalization.NumberStyles.HexNumber)).ToArray();int sum=bytes.sum(x=>x)&0xFF;