v-generate-api-key 961 B

12345678910111213141516171819202122232425262728293031323334353637
  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. cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1
  12. }
  13. KEYS='/usr/local/vesta/data/keys/'
  14. HASH=$(keygen)
  15. #----------------------------------------------------------#
  16. # Action #
  17. #----------------------------------------------------------#
  18. if [[ -e ${KEYS}${HASH} ]] ; then
  19. while [[ -e ${KEYS}${HASH} ]] ; do
  20. HASH=$(keygen)
  21. done
  22. fi
  23. touch ${KEYS}${HASH}
  24. echo ${HASH}
  25. #----------------------------------------------------------#
  26. # Vesta #
  27. #----------------------------------------------------------#
  28. exit