v-generate-api-key 997 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. # info: generate api key
  3. # options: none
  4. #
  5. # The function creates a key file in /usr/local/vesta/data/keys/
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. keygen()
  10. {
  11. < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
  12. }
  13. KEYS='/usr/local/vesta/data/keys/'
  14. HASH=$(keygen)
  15. #----------------------------------------------------------#
  16. # Action #
  17. #----------------------------------------------------------#
  18. if [ ! -d ${KEYS} ]; then
  19. mkdir ${KEYS}
  20. fi
  21. if [[ -e ${KEYS}${HASH} ]] ; then
  22. while [[ -e ${KEYS}${HASH} ]] ; do
  23. HASH=$(keygen)
  24. done
  25. fi
  26. touch ${KEYS}${HASH}
  27. echo ${HASH}
  28. #----------------------------------------------------------#
  29. # Vesta #
  30. #----------------------------------------------------------#
  31. exit