How to generate a 24bit hash using Python?

A 24-bit hash in Python is essentially a random 24-bit integer value. You can generate these using Python's built-in random module or other methods for different use cases.

Using random.getrandbits()

The simplest way to generate a 24-bit hash is using random.getrandbits() ?

import random

hash_value = random.getrandbits(24)
print("Decimal:", hash_value)
print("Hexadecimal:", hex(hash_value))
print("Binary:", bin(hash_value))
Decimal: 9763822
Hexadecimal: 0x94fbee
Binary: 0b100101001111101111101110

Using secrets Module for Cryptographic Use

For cryptographically secure random numbers, use the secrets module ?

import secrets

# Generate cryptographically secure 24-bit hash
secure_hash = secrets.randbits(24)
print("Secure hash:", hex(secure_hash))

# Alternative using randbelow
secure_hash2 = secrets.randbelow(2**24)
print("Alternative:", hex(secure_hash2))
Secure hash: 0xa3c7d9
Alternative: 0x7f2e81

Formatting Options

You can format the hash in different ways depending on your needs ?

import random

hash_value = random.getrandbits(24)

# Different formatting options
print(f"Padded hex: {hash_value:06x}")
print(f"Uppercase hex: {hash_value:06X}")
print(f"With 0x prefix: 0x{hash_value:06x}")
print(f"24-bit binary: {hash_value:024b}")
Padded hex: 2a7f3c
Uppercase hex: 2A7F3C
With 0x prefix: 0x2a7f3c
24-bit binary: 001010100111111100111100

Comparison

Method Security Best For
random.getrandbits() Pseudo-random General purposes, simulations
secrets.randbits() Cryptographically secure Security applications, tokens

Conclusion

Use random.getrandbits(24) for general 24-bit hash generation. For security-critical applications, prefer secrets.randbits(24) for cryptographically secure random values.

Updated on: 2026-03-24T20:40:31+05:30

631 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements