[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Скрипты для uCoz » Пользователи » Проверка надёжности пароля
Проверка надёжности пароля
team102Дата: Понедельник, 29 Ноября 2010, 18:10 | Сообщение # 1
Группа: Файловики
Сообщений: 216
Награды: 3
Репутация: 13
Статус: Offline
сам скрипт лучше в файл js (большой сильно) и в корень.

Code
<script language="javascript">  

/*  
Password Strength Algorithm:  

Password Length:  
5 Points: Less than 4 characters  
10 Points: 5 to 7 characters  
25 Points: 8 or more  

Letters:  
0 Points: No letters  
10 Points: Letters are all lower case  
20 Points: Letters are upper case and lower case  

Numbers:  
0 Points: No numbers  
10 Points: 1 number  
20 Points: 3 or more numbers  

Characters:  
0 Points: No characters  
10 Points: 1 character  
25 Points: More than 1 character  

Bonus:  
2 Points: Letters and numbers  
3 Points: Letters, numbers, and characters  
5 Points: Mixed case letters, numbers, and characters  

Password Text Range:  

>= 90: Very Secure  
>= 80: Secure  
>= 70: Very Strong  
>= 60: Strong  
>= 50: Average  
>= 25: Weak  
>= 0: Very Weak  

*/  

// Settings  
// -- Toggle to true or false, if you want to change what is checked in the password  
var m_strUpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";  
var m_strLowerCase = "abcdefghijklmnopqrstuvwxyz";  
var m_strNumber = "0123456789";  
var m_strCharacters = "!@#$%^&*?_~"  

// Check password  
function checkPassword(strPassword)  
{  
// Reset combination count  
var nScore = 0;  

// Password length  
// -- Less than 4 characters  
if (strPassword.length < 5)  
{  
nScore += 5;  
}  
// -- 5 to 7 characters  
else if (strPassword.length > 4 && strPassword.length < 8)  
{  
nScore += 10;  
}  
// -- 8 or more  
else if (strPassword.length > 7)  
{  
nScore += 25;  
}  

// Letters  
var nUpperCount = countContain(strPassword, m_strUpperCase);  
var nLowerCount = countContain(strPassword, m_strLowerCase);  
var nLowerUpperCount = nUpperCount + nLowerCount;  
// -- Letters are all lower case  
if (nUpperCount == 0 && nLowerCount != 0)  
{  
nScore += 10;  
}  
// -- Letters are upper case and lower case  
else if (nUpperCount != 0 && nLowerCount != 0)  
{  
nScore += 20;  
}  

// Numbers  
var nNumberCount = countContain(strPassword, m_strNumber);  
// -- 1 number  
if (nNumberCount == 1)  
{  
nScore += 10;  
}  
// -- 3 or more numbers  
if (nNumberCount >= 3)  
{  
nScore += 20;  
}  

// Characters  
var nCharacterCount = countContain(strPassword, m_strCharacters);  
// -- 1 character  
if (nCharacterCount == 1)  
{  
nScore += 10;  
}  
// -- More than 1 character  
if (nCharacterCount > 1)  
{  
nScore += 25;  
}  

// Bonus  
// -- Letters and numbers  
if (nNumberCount != 0 && nLowerUpperCount != 0)  
{  
nScore += 2;  
}  
// -- Letters, numbers, and characters  
if (nNumberCount != 0 && nLowerUpperCount != 0 && nCharacterCount != 0)  
{  
nScore += 3;  
}  
// -- Mixed case letters, numbers, and characters  
if (nNumberCount != 0 && nUpperCount != 0 && nLowerCount != 0 && nCharacterCount != 0)  
{  
nScore += 5;  
}  

return nScore;  
}  

// Runs password through check and then updates GUI  
function runPassword(strPassword, strFieldID)  
{  
// Check password  
var nScore = checkPassword(strPassword);  

// Get controls  
var ctlBar = document.getElementById(strFieldID + "_bar");  
var ctlText = document.getElementById(strFieldID + "_text");  
if (!ctlBar || !ctlText)  
return;  

// Set new width  
ctlBar.style.width = nScore + "%";  

// Color and text  
// -- Безупречный  
if (nScore >= 90)  
{  
var strText = "Отличный пароль! Главное не забыть его :)";  
var strColor = "#0ca908";  
}  
// -- Очень хороший  
else if (nScore >= 80)  
{  
var strText = "Очень хороший";  
vstrColor = "#7ff67c";  
}  
// -- Хороший  
else if (nScore >= 70)  
{  
var strText = "Хороший";  
var strColor = "#1740ef";  
}  
// -- Давольно нормальный  
else if (nScore >= 60)  
{  
var strText = "Достаточно неплохо";  
var strColor = "#5a74e3";  
}  
// -- Нормальный  
else if (nScore >= 50)  
{  
var strText = "Нормально";  
var strColor = "#e3cb00";  
}  
// -- Слабый  
else if (nScore >= 25)  
{  
var strText = "Слабенько";  
var strColor = "#e7d61a";  
}  
// -- Очень плохой  
else  
{  
var strText = "Ужас. (qwerty и то лучше :)) ";  
var strColor = "#e71a1a";  
}  
ctlBar.style.backgroundColor = strColor;  
ctlText.innerHTML = "<span style='color: " + strColor + ";'>" + strText + " - " + nScore + "</span>";  
}  

// Checks a string for a list of characters  
function countContain(strPassword, strCheck)  
{  
// Declare variables  
var nCount = 0;  

for (i = 0; i < strPassword.length; i++)  
{  
if (strCheck.indexOf(strPassword.charAt(i)) > -1)  
{  
nCount++;  
}  
}  

return nCount;  
}  

</script>  
<table class="ttable" width="100%" align="center" border="0" cellpadding="4">  

<tbody><tr>  
<td colspan="2" bgcolor="#d4d0c8"><strong>Проверка надежности пароля  
</strong></td>  

</tr>  

</tbody></table>  
<script type="text/javascript" src="java_password.js"></script>  
<table> <tbody><tr><td class="tdr">Введите Ваш пароль<span class="bred">*</span></td>  

<td class="tdl"><input name="street" size="40" onkeyup="runPassword(this.value, 'mypassword');" type="text"></td>  
</tr><tr> <td class="tdr">Качество пароля<span class="bred">*</span></td>  
<td class="tdl"><b></b><div id="mypassword_text"><b></b></div>  
<div style="width: 100px;">  
<div id="mypassword_bar" style="border: 1px solid white; font-size: 1px; height: 2px; width: 0px;"></div></div></td>  
</tr>  
</tbody></table>
 
Форум » Скрипты для uCoz » Пользователи » Проверка надёжности пароля
  • Страница 1 из 1
  • 1
Поиск: