31 lines
		
	
	
		
			538 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			538 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "random.h"
 | |
| #include "esp_random.h"
 | |
| 
 | |
| void rand_str(size_t len, char *dest)
 | |
| {
 | |
|     for (size_t i = 0; i < len; i++)
 | |
|     {
 | |
|         uint32_t v = esp_random() % (26 * 2 + 10);
 | |
| 
 | |
|         // Upper case letter
 | |
|         if (v < 26)
 | |
|         {
 | |
|             dest[i] = 65 + v;
 | |
|             continue;
 | |
|         }
 | |
|         v -= 26;
 | |
| 
 | |
|         // Lower case letter
 | |
|         if (v < 26)
 | |
|         {
 | |
|             dest[i] = 97 + v;
 | |
|             continue;
 | |
|         }
 | |
|         v -= 26;
 | |
| 
 | |
|         // Digit
 | |
|         dest[i] = 48 + (v % 10);
 | |
|     }
 | |
| 
 | |
|     dest[len] = '\0';
 | |
| } |