AzLearn

تمرين إعادة البناء

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)
}
اكتب هنا