Avatar ·

Generación de una cadena alfanumérica aleatoria en Swift

¡Hola a todos! Estoy escribiendo una aplicación para iOS en Swift y necesito generar cadenas aleatorias que consistan en letras (latín, ambos registros) y dígitos. Por ejemplo, para crear identificadores únicos o contraseñas temporales. Soy nuevo y mi implementación actual se ve así: ```swift let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" var randomString = "" for _ in 0..<10 { let randomIndex = Int(arc4random_uniform(UInt32(letters.count))) randomString.append(letters[letters.index(letters.startIndex, offsetBy: randomIndex)]) } print(randomString) ``` Esto funciona, pero siento que el código es voluminoso y no muy "swifty". En primer lugar, `arc4random_uniform` está obsoleto en Swift 4.2+, y Xcode muestra una advertencia. En segundo lugar, calcular constantemente el índice a través de `index(startIndex, offsetBy:)` parece ineficiente, especialmente si la cadena es larga. En tercer lugar, no estoy seguro de que esto sea seguro para fines criptográficos (por ejemplo, para tokens). Indíquenme cómo hacerlo correctamente.