1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

tools: add tool for generating random hexadecimal values

This tool generates a random hexadecimal value of a given maximum size.
This is useful for generating random canary values during compile-time
for the ssp module which currently uses a constant value.
This commit is contained in:
Sören Tempel 2020-01-14 11:00:21 +01:00
parent be0a24e532
commit 1e52ac21e4
2 changed files with 27 additions and 0 deletions

7
dist/tools/randhex/README.md vendored Normal file
View File

@ -0,0 +1,7 @@
randhex.py
----------
Usage: `randhex.py <MAXBITS>`
This script generates a random hexadecimal value of the given maximum
size in bits. If `MAXBITS` is not specified it defaults to 64.

20
dist/tools/randhex/randhex.py vendored Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env python3
#
# Copyright (C) 2020 Sören Tempel <tempel@uni-bremen.de>
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
import sys
import secrets
if len(sys.argv) >= 2:
maxbits = int(sys.argv[1])
else:
maxbits = 64
maxval = 2 ** maxbits
print(hex(secrets.randbelow(maxval)))