## Numbers Converter & Encoder

- To use this tool, just input a value in any field and press the
`Enter`

key. - Your input should only include numbers and/or letters. Everything else will be removed.
- Conversions involving letters are case sensitive.

- There are many base62 alphabet implementations out there, typically
- [0-9a-zA-Z] stackoverflow.com, snipplr, github
- [0-9A-Za-z] npmjs.com
- [A-Za-z0-9] codeproject.com
- [a-zA-Z0-9] experts-exchange.com

- Of these, the first two are widely used due to working compatibilities with other base encoding systems.
- Our tool supports all of them, with [0-9a-zA-Z] being the default one. We recommend the first two when working with lower bases.
- Regardless of which base62 alphabet is used, to convert to lower bases, we define the base2 to base61 alphabets as subsets of the base62 alphabet utilized.
- Upon a submission, the tool searches for the input characters in the corresponding alphabet or subalphabet. If they all are found, the one-to-many conversions take place; otherwise the tool returns all mismatched characters and advices users on how to proceed.
**Note:**Before comparing results from different base conversion tools, please keep in mind that there are many application-specific number base conversion tools out there that may not use the above alphabets. This is the case of, for instance, Bitcoin which uses a special base58 alphabet (Wikipedia, 2016a).

In addition, it is not uncommon to find different alphabets for making conversion at the same base number. This is the case of, for instance, base64 and its many variants (Wikipedia, 2016b, 2016c). One can even arbitrarily define new alphabets and formulate additional base encoding and numeral systems. The point to be made is this: different alphabets produce different results.

- Researchers, teachers, students, or anyone working with data conversions.

- Generate one-to-many maps for the strings
*trump*,*republicans*,*satan*,*666*, etc - Repeat previous exercise, but this time for
*google, microsoft, yahoo...* - Consider a base26 number system wherein the upper case letters of the alphabets are the digits; i.e. A=0, B=1, C=2, ... Z=25. Convert the number
**hapg**from base26 to base10 with this number system and with our tool. Explain any difference between the results. **Password Constructions**. Using our tool, the name johndoe in base25 is**6komo0e**in base30. In addition,**6komo0e**in base35 is**2Cd8gwy**in base40. So the latter can be used as a user's password. Notice that to recover the original input, a hacker will need to know the sequence of bases, or base increments, used and which alphabet was implemented. Repeat this exercise with your name, but this time using a variable base increment as an extra security layer.- One-to-many maps can be used as part of a brute-force strategy for cracking passwords. Suggest a procedure for doing this.

- Wikipedia (2016a). Base58Check encoding.
- Wikipedia (2016b). List of numeral systems.
- Wikipedia (2016c). Base64.

#### Feedback

Contact us for any suggestion or question regarding this tool.