1. A computer-implemented process for determining whether a computer user is a human or a computer program, comprising: using a computer for: generating a string of characters; arranging the characters spatially; tearing the characters into torn pieces to create a human interactive proof of the string; requiring a computer user to identify the characters of the human interactive proof; comparing the computer user's identification of the characters of the human interactive proof to the string of characters; and determining whether the computer user is a human or a computer program by using the comparison of the computer user's identification of the characters of the human interactive proof to the string of characters.