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.
No answers yet.
Inicia sesión para dejar una respuesta