A method of verifying an identity of a user to a computer system, the user being assigned a user access code in the form of an invariant string of integers from 0 to 9, with length no greater than ten; comprising: i) storing the user access code in the computer system; ii) the computer system generating a ten-digit random or pseudo-random non-repeating string of the integers 0 to 9, the string having 1 st to 10 th positions each with a unique integer and having respective positional values 1 to 10; iii) the computer system selecting integers from the random or pseudo-random non-repeating string on a positional basis determined by the integer values of the integers of the user access code, taken in positional order, thereby to determine a one-time verification code in the form of a string of the same length as the user access code, with integer value 1 corresponding to positional value 1, integer value 2 corresponding to positional value 2 and so forth, with integer value 0 corresponding to positional value 10; iv) the computer system generating 1 st to 10 th cells, the cells having respective locational values 1 to 10; v) the computer system populating the cells with the integers of the non-repeating string such that the value of the integer in each cell corresponds to the positional value in the random or pseudo-random string of the integer representing the locational value of the cell, with integer value 1 corresponding to positional value 1, integer value 2 corresponding to positional value 2 and so forth, with integer value 0 corresponding to positional value 10; vi) the computer system displaying the cells on a display; vii) the user using an input device of the computer system to select, in order, the cells on the display that contain the integers constituting the user access code, wherein each act of selection returns the locational value of the selected cell, thereby to generate a one-time transaction code comprising a string of integers from 0 to 9 having the same length as the user access code; viii) the computer system comparing the verification code with the one-time transaction code; and ix) a successful identity verification being made if the verification code matches the one-time transaction code. i) storing the user access code in the computer system; ii) the computer system generating a ten-digit random or pseudo-random non-repeating string of the integers 0 to 9, the string having 1 st to 10 th positions each with a unique integer and having respective positional values 1 to 10; iii) the computer system selecting integers from the random or pseudo-random non-repeating string on a positional basis determined by the integer values of the integers of the user access code, taken in positional order, thereby to determine a one-time verification code in the form of a string of the same length as the user access code, with integer value 1 corresponding to positional value 1, integer value 2 corresponding to positional value 2 and so forth, with integer value 0 corresponding to positional value 10; iv) the computer system generating 1 st to 10 th cells, the cells having respective locational values 1 to 10; v) the computer system populating the cells with the integers of the non-repeating string such that the value of the integer in each cell corresponds to the positional value in the random or pseudo-random string of the integer representing the locational value of the cell, with integer value 1 corresponding to positional value 1, integer value 2 corresponding to positional value 2 and so forth, with integer value 0 corresponding to positional value 10; vi) the computer system displaying the cells on a display; vii) the user using an input device of the computer system to select, in order, the cells on the display that contain the integers constituting the user access code, wherein each act of selection returns the locational value of the selected cell, thereby to generate a one-time transaction code comprising a string of integers from 0 to 9 having the same length as the user access code; viii) the computer system comparing the verification code with the one-time transaction code; and ix) a successful identity verification being made if the verification code matches the one-time transaction code.