1. One or more computer-readable media having stored thereon a plurality of instructions that, when executed by one or more processors of a computer, causes the one or more processors to perform acts comprising: receiving an identifier; generating, based on the identifier, a mapped identifier; encoding the mapped identifier, wherein encoding the mapped identifier comprises: reversing an order of characters in the mapped identifier; removing, from a reversed mapped identifier, all trailing characters of a particular type; initializing the encoded identifier with a string of one bits equal in number to a number of trailing characters removed from the reversed mapped identifier followed by a zero bit; selecting a first character from the reversed mapped identifier; encoding the first character using a first coding table; adding, to the encoded identifier, a series of zero bits followed by the encoded first character; for each additional character in the reversed mapped identifier, selecting a next character in the reversed mapped identifier, encoding the next character using a second coding table, adding, to the encoded identifier, a series of zero bits followed by the encoded next character; and removing any trailing zero bits and the one bit preceding the trailing zero bits from the encoded identifier; and encrypting the encoded mapped identifier.