I have a VC++ DLL function that should be called from VB. The function Encrypts a string (It's more complex than the one shown). This following code, however, returns the exact same string, can anyone see whats wrong?

From VB, the function is called like this
a$="Test String"
EncryptString(a$)

DLL Function
void _stdcall EncryptString(LPSTR data) {
for (int i=0; i<strlen(data); ++i) {
data[i]^=5;
}
}