我的密码的加密方法: (详细讲解)(解决溢出问题)(对象初学者))

发表于:2007-06-30来源:作者:点击数: 标签:
我的密码的加密方法: 首先写一个加密函数encrypt(str): % functionencrypt(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//
我的密码的加密方法:
首先写一个加密函数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函数:
len(str) 返回字符串中的字符数目
Asc() 返回每一个字符串首字母的 ANSI 字符代码
Chr() 函数返回与指定的字符代码相对应的字符
mid(str,i,length)返回字符串str中从第i个字符开始的length个字符

另外再输入密码那个环节,用js控制只能输入
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
并限制数落密码长度,12应该可以了吧

实现函数
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;
}

写数据的时候前面:

password =encrypt(request("password"))
password =replace(password,"‘’","‘’‘’")  防止可怕的‘’

效果
密码: 1111
加密后密码: 789:;1
密码: 00zzzzzzzz
加密后密码:  ;<xyz{|}~z

就这么简单^^
算法可以根据自己喜好自己改

原文转自:http://www.ltesting.net