Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # ./UUIDgenkey.sh
- # Israel Torres hakin9@israeltorres.org
- # Tue Aug 23 12:53:46 PDT 2011
- # UUIDgenkey - For My Eyes Only"
- #
- # see function usage/example below
- #
- # this function runs system_profiler to get our version; here we look for Mac OS X
- function getOSCheck {
- system_profiler SPSoftwareDataType | grep 'System Version' | grep -q 'Mac OS X'
- }
- # this function gets the Mac's universally unique identifier (UUID) to use as the 36 character password
- function getUniqueID {
- myUUID=$(system_profiler SPHardwareDataType | grep 'Hardware UUID' | cut -d ':' -f 2 | sed 's/^ *//')
- }
- # this function assigns a fake UUID to the variable myUUID for demonstration purposes only/testing
- function setDEMOUniqueID { # FOR DEMO ONLY
- myUUID='01234567-ABCD-0123-ABCD-0123456789AB'
- }
- # this function encrypts the string using AES-256 using myUUID as the password
- function passEncrypt {
- PLAIN=$1
- SECRET=$(echo $PLAIN | openssl enc -aes-256-cbc -salt -pass pass:$myUUID | xxd -u -p | tr -d '\n')
- echo $SECRET
- }
- # this function decrypts the string using AES-256 using myUUID as the password
- function passDecrypt {
- CIPHER=$1
- SECRET=$(echo $CIPHER | xxd -r -p | openssl enc -d -aes-256-cbc -pass pass:$myUUID)
- echo $SECRET
- }
- # this function exits the shell script if it is a non-Mac OS X system
- function validateOS {
- getOSCheck; if [ $? -ne 0 ]; then
- echo "Mac OS X check failed"
- exit 1
- fi
- }
- # this function displays the usage and examples if parameter requirements aren't fulfilled
- function usage {
- echo "usage: $0 '-e|-d|-r|-f' 'string'"
- echo "example: $0 -e encryptstring"
- echo "example: $0 -d decryptstring"
- echo "example: $0 -r encryptstringwithDEMOUUID"
- echo "example: $0 -f decryptstringwithDEMOUUID"
- exit 1
- }
- # this begin the main conditional flow
- validateOS
- if [ ! $# -ne 2 ]; then
- operation=$1
- stringvar=$2
- if [ $operation == "-e" ]; then
- getUniqueID
- passEncrypt "$stringvar"
- exit $?
- fi
- if [ $operation == "-d" ]; then
- getUniqueID
- passDecrypt "$stringvar"
- exit $?
- fi
- if [ $operation == "-r" ]; then
- setDEMOUniqueID
- passEncrypt "$stringvar"
- exit $?
- fi
- if [ $operation == "-f" ]; then
- setDEMOUniqueID
- passDecrypt "$stringvar"
- exit $?
- fi
- usage
- else
- usage
- fi
- #EOF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement