计算LRC的问题

时间:2013-12-07 00:36:07

标签: vb6 onlinebanking

我正在尝试计算LRC值(纵向冗余校验),以便向pinpad发送消息。

我对LRC的了解是:“它是通过对消息中的所有字符执行XOR来计算的,不包括计算中的STX。”

我正在使用此功能生成LRC:

 Public Shared Function calculateLRC(bytes As Byte()) As Byte
    Dim LRC As Byte = 0
    For i As Integer = 0 To bytes.Length - 1
        LRC = LRC Xor bytes(i)
    Next
    Return CByte(LRC)
End Function

但我无法让pinpad回答我。

现在,我知道我必须用HEX发送消息,但是我不能让pinpad回应我,我无法弄清楚我是否在计算LRC时遇到问题或者我在做其他错误。

以这种方式询问格式:< STX> < msg的类型> < PARAM>< ETX>< LRC取代。

我已经尝试先计算LRC,然后将所有内容转换为十六进制并将所有内容转换为六进制,然后计算LRC,但是无效。

感谢任何帮助。

编辑:好的,LRC还可以。问题在于我发送数据的方式(主要是因为我的文档很少,而我只是想尝试一下)

我会尝试思考如何解释这里的问题,就像我说的那样,我的文档非常糟糕,并且是西班牙语。

0 个答案:

没有答案