Typically, AWS access keys have a length of 20 characters from the following set: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
(also called uppercase base32
encoding)
The following Python code can be used to generate random AWS-like access keys & secret keys:
import base64 import secrets def generate_random_base32_key(length=20): """ Generate a random uppercase base32 string of the given length. """ bytes_length = (length * 5) // 8 random_bytes = secrets.token_bytes(bytes_length) base32_string = base64.b32encode(random_bytes).decode()[:length] return base32_string.upper() # Usage example random_access_key = generate_random_base32_key(20) print(random_access_key)
Example output:
IBVCAVULO2CQTOQEE6VQ
5ONXKHGNV3ILTX3BGJGA
2B4QYQ2RFGWK2LSON4YQ
VO5APZH2B2KS75GWORFQ
SXCBFBDXLUNCJMCFM2SQ