目錄
密碼強度
解決方案 **
**走讀
在涉及修改密碼的場景中,密碼強度(也稱密碼安全性)校驗是繞不開的話題。乙個密碼的安全性除了與密碼長度相關外,也與密碼所採用的字元種類有關。在不考慮密碼長度的情況下,密碼強度通常分為以下五類(由高到低排序):
密碼強度
說明示例
s密碼中必須存在特殊字元、大小寫字母和數字
csdn#2020
a對特殊字元、大寫字母、小寫字母和數字至少存在3種
csdn#2020
b對特殊字元、大寫字母、小寫字母和數字至少存在2種
csdn2020
c對特殊字元、大寫字母、小寫字母和數字至少存在1種
csdn
d不存在特殊字元、大小寫字母和數字。
/、\
檢測密碼強度包含兩個方面,乙個是密碼長度,另乙個是包含的字元種類。對不符合長度要求的密碼和字元種類範圍低的密碼報錯返回。
package check_pwd
import (
"fmt"
"regexp"
)const (
leveld = iota
levelc
levelb
levela
levels
)func check(minlength, maxlength, minlevel int, pwd string) error
if len(pwd) > maxlength
var level int = leveld
patternlist := string
for _, pattern := range patternlist
} if level < minlevel
return nil
}
package check_pwdimport (
"fmt"
"regexp"
)// 密碼強度等級,d為最低
const (
leveld = iota
levelc
levelb
levela
levels)/*
* minlength: 指定密碼的最小長度
* maxlength:指定密碼的最大長度
* minlevel:指定密碼最低要求的強度等級
* pwd:明文密碼
*/func check(minlength, maxlength, minlevel int, pwd string) error
if len(pwd) > maxlength
// 初始化密碼強度等級為d,利用正則校驗密碼強度,若匹配成功則強度自增1
var level int = leveld
patternlist := string
for _, pattern := range patternlist
}// 如果最終密碼強度低於要求的最低強度,返回並報錯
if level < minlevel
return nil
}
密碼安全性檢查
要求 安全級別低 密碼由單純數字或字母組成 密碼長度小於等於8位 安全級別中 密碼由數字,字母,特殊字元任意兩種組合,密碼長度不低於8位 安全級別高 密碼由數字,字母及特殊字元三種組合,開頭只能為字母。密碼長度不低於16位 str.isdigit 當字串只包含數字返回true str.isalpha...
密碼強度檢測 passwordStrength
我們設定密碼強度等級為10,製作一張表示每個等級狀態,給密碼框繫結keyup事件,通過keyup事件獲取密碼值,然後使用正則進行判斷密碼強度等級,然後變換相應的。使用很簡單。pass passwordstrength 建立如下html 請輸入密碼 type password id pass clas...
密碼演算法安全性列表
密碼演算法安全性列表 業界已知不安全演算法 對稱演算法 des在所有場景下都不安全。對稱演算法 3des在金鑰長度256以下,k1 k2 k3時不安全。對稱演算法 skipjack和rc2在所有場景下都不安全。對稱演算法 rc4和blowfish當金鑰長度128以下時,不安全。非對稱演算法 rsa在...