# CHARXOR()

Combine corresponding ASCII value of two strings with bitwise XOR

Syntax

  CHARXOR (<[@]cString1>, <cString2>) --> cXOrString

Arguments

  <[@]cString1> first string <cString2> second string

Returns

  <cXOrString> string with bitwise XOR combined ASCII values

Description

  The CHARXOR() function constructs a new string from the two strings passed as parameters. To do this, it combines the ASCII values of the corresponding characters of both strings with a bitwise XOR-operation and places a character in the resulting string whose ASCII value equals to the result of that operation. If the first string is passed by reference, the resulting string is stored in <cString1>, too. By setting the CSETREF()-switch to .T., the return value can be omitted. If <cString2> is shorter than <cString1> and the last character of <cString2> has been processed, the function restarts with the first character of <cString2>.

Examples

          // easy encryption
          ? charxor ("This is top secret !", "My Password") -->
    Tests
          charxor (charxor ("This is top secret !", "My Password"), "My Password") == "This is top secret !"

Status

  Ready

Compliance

  CHARXOR() is compatible with CT3's CHARXOR().

Platforms

  All

Files

  Source is charop.c, library is ct3.

See Also

- CSETREF()