Let’s begin with a synopsis of bits and bytes:
- A bit is a 0 or a 1
- A nibble is four bits
- A byte is 8 bits or two nibbles
- 1024 bytes is a kilobyte
- 1024 kilobytes is a megabyte, or 1,048,576 bytes…or 8,388,608 bits
For instance, if we input “hello” into a binary generator, it returns the following value:
0110 1000 0110 0101 0110 1100 0110 1100 0110 1111
This is a total of 40 bits, or ten nibbles, or five bytes.
You can generate your own binary code HERE.
Because 1’s and 0’s can be difficult to read, hexadecimal is used. Hexadecimal is a positional numeral system with a base of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine and A–F (or a–f) to represent values ten to fifteen.
Hexadecimal numerals are widely used by computer system designers and programmers to provide a more human-friendly representation of binary-coded values. Each hexadecimal digit represents four binary digits, known as a nibble or a half a byte (four bits). For example, a single byte can have values ranging from 0000 0000 to 1111 1111 in binary form, which can be more conveniently represented as 00 to FF in hexadecimal.
Going back to our example, if we generate a SHA-256 hash for the word “hello” (all lower case, no quotations), it will return the following 64-character value: