A method for securing data in a centralized environment comprising: receiving, by a central server from a client device associated with a user account, an encrypted security value, the client device configured to access the encrypted security value from a hardware security device separate from and coupled to the client device; in response to receiving a request to protect data from the client device, providing, by the central server, the encrypted security value previously provided by the hardware security device and stored by the central server to the hardware security device for decryption and receiving a decrypted security value from the hardware security device in response; accessing, by the central server, a static token table corresponding to the user account, the static token table mapping each of a plurality of input values to a different token value; generating, by the central server, a reshuffled static token table by reshuffling the token values within the static token table based at least in part on the decrypted security value such that at least one input value is mapped by the reshuffled static token table (222A, 222B) to a different token value than by the static token table; receiving, by the central server from the client device, data to be protected; tokenizing, by the central server, the received data using the reshuffled static token table (222A, 222Bby querying the reshuffled static token table (222A, 222B) with a value of a portion of the received data to identify a token value mapped to the value of the portion of the accessed data and replacing the portion of the received data with the identified token value; and providing, by the server, the tokenized data to a database for storage in conjunction with tokenized data corresponding to other user accounts such that an unauthorized access to tokenized data corresponding to a first user account does not compromise tokenized data corresponding to a second user account. receiving, by a central server from a client device associated with a user account, an encrypted security value, the client device configured to access the encrypted security value from a hardware security device separate from and coupled to the client device; in response to receiving a request to protect data from the client device, providing, by the central server, the encrypted security value previously provided by the hardware security device and stored by the central server to the hardware security device for decryption and receiving a decrypted security value from the hardware security device in response; accessing, by the central server, a static token table corresponding to the user account, the static token table mapping each of a plurality of input values to a different token value; generating, by the central server, a reshuffled static token table by reshuffling the token values within the static token table based at least in part on the decrypted security value such that at least one input value is mapped by the reshuffled static token table (222A, 222B) to a different token value than by the static token table; receiving, by the central server from the client device, data to be protected; tokenizing, by the central server, the received data using the reshuffled static token table (222A, 222Bby querying the reshuffled static token table (222A, 222B) with a value of a portion of the received data to identify a token value mapped to the value of the portion of the accessed data and replacing the portion of the received data with the identified token value; and providing, by the server, the tokenized data to a database for storage in conjunction with tokenized data corresponding to other user accounts such that an unauthorized access to tokenized data corresponding to a first user account does not compromise tokenized data corresponding to a second user account.