明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

我的密碼的加密方法: (詳細講解)(處理溢出問題)(對象入門者))

[摘要]我的密碼的加密方法:首先寫一個加密函數(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ù)自己喜好自己改