The following should give you what you need. (Note: While written in VFP 7.0, I just checked, and it seems to work just fine in 5.0, and I'll assume 6.0 as well.
Usage:
? asc(lrc("123"

)
* Program....: LRC.PRG
* Version....: 1.0
* Author.....: Richard G Bean
* Date.......: 02/13/02
* Notice.....: Copyleft 2002 ** Melange Computer Services, Inc **
* Compiler...: Visual FoxPro 07.00.0000.9465 for Windows
* Abstract...: Computes LRC (Longitudinal Redundancy Check)
* for string passed in
* Returns a single character
* Changes....:
LPARAMETERS p_cString
IF PCOUNT()<1 OR TYPE("p_cString"

<> "C"
RETURN CHR(0)
ENDIF
LOCAL lnLRC, lnii
lnLRC = 0
FOR lnii = 1 TO LEN(p_cString)
lnLRC = BITAND(0xFF, ;
BITXOR(lnLRC, ASC(SUBSTR(p_cString,lnii,1))))
ENDFOR
RETURN CHR(lnLRC)
*: EOP * LRC.PRG *