如何解决从 GPS 和指纹数据比较中将 Base64 转换为字节的问题?

How to fix Issue with convert Base64 to byte from GPS & Fingerprint data compare?

我正在尝试通过转换字节数组来比较指纹字符串和 GPS 数据,但结果不适用于来自不同端的相同指纹记录。

这是我的 string/hex 来自指纹扫描设备和 GPS 的值。 指纹编码结果如下。

AwFZFo4A//7//vAA4ACAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSDRiePJYW3mEcxF5jKZueCSwPPiitjx4atw0+KT7LvimYFd9IIFe/diDbN1yihb91sAffQLoKnzsgbNw+JxT8OqmR/T+wThpGMkpWNSFU90mxyBcspZJSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBWRqRAP/+/wLgAMAAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMZMXXlcZhF5SoAYeWKXbnh8qTx4RtA1eILsLfm8TWj8eFJWfPp0XX2sdWx9xI4cfa6wHvze2Cl8QQEyfdMBfvzCdbLpCQWMSQz6K8yGjEnY0pBT0MKZRlSQfa9I5rkySLB6V8yKg1FMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=

GPS 追踪器发送十六进制代码如下

03 01 5A 16 96 00 FF FE E0 02 C0 00 80 00 80 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 0B 16 9E 59 91 03 FE 6D 15 1A BE 55 98 85 7E 5D 9E 5B 7E 3A A5 0E 1E 16 2C 8C BE 25 B2 8B 1E 1E 0D 95 5F 75 9A C6 B7 24 23 8E BF 70 A3 87 7F 3B AE 49 FF 16 B7 8B DF 36 91 00 1C 41 14 56 FC 3D 91 16 9A 37 9D 14 F8 33 1F 92 19 30 16 2C 56 24 1C 12 36 2C 17 55 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

如何将两者与字节数组进行比较?
将 FromBase64 字符串转换为字节所需的指纹代码和将十六进制转换为字节所需的 GPS 代码..
我从指纹获得不同的数组大小,它返回 512 字节数组,从 GPS 返回 256 字节数组..

下面是我的代码形式 C# 创建演示 aspx 页面并检查它。

我在这里添加了演示项目。 你可以下载并检查它.. http://maplayout.com/demo.zip

谢谢
阿比

我已通过将 HEX 代码字符串转换为 Byte[] 和 USB reader 值从 Base64 字符串转换为 Byte[]

我创建了以下方法来将两者与 byte[] 进行比较,
下面的 fpengine 是第三方 COM 对象,将用于比较手指扫描值与手指点算法。

 public bool IsMatchFound(string HexCodeString , string USBReaderString)
        {
            try
            {
                int scope = 0, intdisc=0;
                byte[] gmat = HexEncoding.GetBytes(HexCodeString, out intdisc); //StringToByteArray(str1);
                byte[] gref = Convert.FromBase64String(USBReaderString);
                scope = fpengine.MatchTemplate(gmat, gref);

                return (scope > 30) ? true : false;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

如果有人需要同类应用程序的帮助,请告诉我..