我的密碼的加密方法: (詳細講解)(處理溢出問題)(對象入門者))
發(fā)表時間:2024-05-28 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]我的密碼的加密方法:首先寫一個加密函數(shù)encrypt(str):<%function encrypt(str) Dim i,c,length,texts,seed length = len(str) texts = "" ...
我的密碼的加密方法:
首先寫一個加密函數(shù)encrypt(str):
<%
function encrypt(str)
Dim i,c,length,texts,seed
length = len(str)
texts = ""
for i = 1 to length
c = mid(str,i,length)
seed=Asc(c)
if seed >ASC("hh") then //
seed=seed-15 //防止溢出問題
end if //
seed=i+length+seed
texts = texts & chr(seed)
next
texts = texts & mid(str,length,length)
encrypt =texts
end function
%>
上面用的vbscript函數(shù):
len(str) 返回字符串中的字符數(shù)目
Asc() 返回每一個字符串首字母的 ANSI 字符代碼
Chr() 函數(shù)返回與指定的字符代碼相對應(yīng)的字符
mid(str,i,length)返回字符串str中從第i個字符開始的length個字符
另外再輸入密碼那個環(huán)節(jié),用js控制只能輸入
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
并限制數(shù)落密碼長度,12應(yīng)該可以了吧
實現(xiàn)函數(shù)
function CharsInBag (s, bag)
{
var i;
for (i = 0; i < s.length; i++)
{
var c = s.charAt(i); //提取字符串中的字符
if (bag.indexOf(c) == -1) return false;
}
return true;
}
寫數(shù)據(jù)的時候前面:
password =encrypt(request("password"))
password =replace(password,"'","''") 防止可怕的'
效果
密碼: 1111
加密后密碼: 789:;1
密碼: 00zzzzzzzz
加密后密碼: ;<xyz{ }~z
就這么簡單^^
算法可以根據(jù)自己喜好自己改