تمرين إعادة البناء
Password Generator
أعد كتابة برنامج Go يولد كلمة مرور عشوائية.
go
~12 دقيقة
مبتدئ
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
package main
import (
"crypto/rand"
"fmt"
"math/big"
)
const alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*"
func randomPassword(length int) (string, error) {
password := make([]byte, length)
for i := range password {
index, err := rand.Int(rand.Reader, big.NewInt(int64(len(alphabet))))
if err != nil {
return "", err
}
password[i] = alphabet[index.Int64()]
}
return string(password), nil
}
func main() {
password, err := randomPassword(16)
if err != nil {
fmt.Println("error:", err)
return
}
fmt.Println(password)
}اكتب هنا