我需要一个简单加解密的字符串函数.用asp.net实现,但在asp中也可以进行解密.
谢谢各位!

解决方案 »

  1.   

    asp代码:
    <%
    'function decrypt(dcode) '加密函数
    ' dim texts
    ' dim i
    ' for i=1 to len(dcode)
    ' texts=texts & chr(asc(mid(dcode,i,2))-i)
    ' next
    ' decrypt=texts
    'end function
    'function encrypt(ecode)'解密函数
    ' Dim texts
    ' dim i
    ' for i=1 to len(ecode)
    ' texts=texts & chr(asc(mid(ecode,i,2))+i)
    ' next
    ' encrypt = texts
    'end Function
    '加密函数,调用方法decrypt("字符")
    function decrypt(venshop)
    for i=1 to len(venshop)
    if mid(venshop,i,1)<>chr(13) then
    ven=asc(mid(venshop,i,1))+5
    if ven>127 or ven<33 then
    ven=ven-95
    end if
    vena=vena&chr(ven)
    else
    vena=vena&"+"
    end if
    next
    decrypt=vena
    end function
    '解密,调用方法encrypt("")
    function encrypt(venshop)
    for i=1 to len(venshop)
    if mid(venshop,i,1)<>"+" then
    ven=asc(mid(venshop,i,1))-5
    if ven>126 then
    ven=ven-95
    elseif ven<32 then
    ven=ven+95
    end if
    vena=vena&chr(ven)
    else
    vena=vena&chr(13)
    end if
    next
    encrypt=vena
    end Function%>.net代码:
    //加密
    public string encode(string str)
    {
    string vena="";
    for(int i=0;i<str.Length;i++)
    {
    if(str.Substring(i,1).IndexOf("\n")==-1)
    {
    //转换成ascii
    byte[] by=System.Text.Encoding.ASCII.GetBytes(str.Substring(i,1).ToString());
    int len =by[0]+5;
    if(len>127|| len<33)
    {
    len=len-95;
    }
    vena=vena+System.Text.Encoding.ASCII.GetString(new byte[]{(byte)len});
    }
    else
    {
    vena=vena+"+";
    }
    }
    return vena;
    }
    //结密
    public string decode(string str)
    {
    string vena="";
    for(int i=0;i<str.Length;i++)
    {
    if(string.Compare(str.Substring(i,1).ToString(),"&")!=0)
    {
    //转换成ascii
    byte[] by=System.Text.Encoding.ASCII.GetBytes(str.Substring(i,1).ToString());
    int len=by[0]-5;
    if(len>126)
    {
    len=len-95;
    if(len<32)
    {
    len=len+95;
    }
    }
    else
    {
    vena=vena+System.Text.Encoding.ASCII.GetString(new byte[]{(byte)len});
    }
    }
    else
    {
    vena=vena+System.Text.Encoding.ASCII.GetString(new byte[]{13});
    }   
    }
    return vena;
    }
      

  2.   

    md5 像这种加密解密  
    算法反正相同
    所以在asp.net跟asp里一样的用,只是代码表示不同而已
      

  3.   

    md5也能解密?啥时的事情?另外这个算法,自己做一个就是了,最简单的就是a变成b,b变成c……
      

  4.   

    自己写一个简单的不就行了最简单的 ascii码在加密的时候减一  解密的时候加一(不考虑特殊情况)
      

  5.   

    MD5不能解密,只能使用穷举法。字符串可以使用js进行加解密。