added another script that deterministically generates a local ip:port based on a given string
parent
e8137b9721
commit
de8162191f
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Display help message
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
echo "Usage: $(basename $0) <input_string>"
|
||||||
|
echo "Outputs a randomly generated IP address and port number based on the MD5 hash of the input string."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check that input string is provided
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Error: input string not provided."
|
||||||
|
echo "Usage: $(basename $0) <input_string>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
input_str="$1"
|
||||||
|
|
||||||
|
# Hash the input string using MD5 and extract the first 4 bytes
|
||||||
|
hash_bytes="$(echo -n $input_str | md5sum | cut -d' ' -f1 | head -c 8)"
|
||||||
|
|
||||||
|
# Create an IP address in the 127.0.0.0/8 range using the first 3 bytes of the hash
|
||||||
|
ip="127.$(printf '%d.%d.%d' 0x${hash_bytes:0:2} 0x${hash_bytes:2:2} 0x${hash_bytes:4:2})"
|
||||||
|
|
||||||
|
# Use the last 2 bytes of the hash to generate a port number in the range 1024-65535
|
||||||
|
port="$((0x${hash_bytes:6:2} % (65535 - 1024) + 1024))"
|
||||||
|
|
||||||
|
echo "$ip:$port"
|
Loading…
Reference in New Issue