View in Telegram
👩‍💻 تکه کد بررسی قدرت و کیفیت رمزعبور ⚠️ این تکه کد به زبان ⚫️ نوشته شده است.
package main

import (
"fmt"
"math"
"regexp"
"strings"
"unicode/utf8"
)

func passStrength(passWord string) string {
hero := 0.0
size := float64(utf8.RuneCountInString(passWord))

freqMap := make(map[rune]float64)
for _, char := range passWord {
freqMap[char]++
}

for _, v := range freqMap {
p := v / size
hero -= p * math.Log2(p)
}

strength := (hero / 3.2) * 100
if strength > 100 {
strength = 100
}

if len(passWord) < 8 {
return "رمزعبور حداقل باید 8 کاراکتر باشد"
}

if !regexp.MustCompile(`[0-9]`).MatchString(passWord) {
return "حداقل باید یک عدد داخل رمزعبور باشد"
}

if !regexp.MustCompile(`[A-Z]`).MatchString(passWord) {
return "حداقل باید یک حرف انگلیسی بزرگ داخل رمزعبور باشد"
}

if !regexp.MustCompile(`[\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\>\=\?\@\[\]\{\}\^\_\\~\]\+\$]`).MatchString(passWord) {
return "حداقل باید یک کاراکتر خاص داخل رمزعبور باشد"
}

return fmt.Sprintf("%.0f : قدرت رمزعبور", strength)
}

func main() {
fmt.Println(passStrength("[es51tP}a*s1")) // 100 : قدرت رمزعبور
fmt.Println(passStrength("pas_Test0")) // 92 : قدرت رمزعبور
}
💙 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily