因为网站和论坛中的用户要求同步,网站是用asp.net开发的,使用sql server数据库
论坛是直接用现成的asp代码写的、access数据库
考虑到把access改成sql server 库改动量太大,时间来不及
所以想做成两个数据库中用户表同步,
首要的问题就是用户密码加密的问题
所以急需在asp和asp.net中通用的加密方法,或者效果相同的两个方法

解决方案 »

  1.   

    MD5咯,你去找个dvbbs就能找到MD5.asp,那就是一个MD5加密用的function,其中有几行被注释的去掉就能生成标准32位MD5。至于ASP.NET生成MD5是内置功能,详细看MSDN。
      

  2.   

    这是asp.net下的MD5加密
    string userpass = FormsAuthentication.HashPasswordForStoringInConfigFile(this.TxtUserPass.Text.Trim(),"MD5");
    asp的就不记得了,自己到网上查查吧,应该不难找到的
      

  3.   

    楼上正解。asp的MD5算法,动网论坛里有~
      

  4.   

    可以用NickLee.Web.UI.CryTo控件,支持b/s和c/s
    下载地址
    http://www.mikecat.net/blogview.asp?logID=1259&cateID=1
    详细介绍
    支持winform和webform
    支持RC2, Rijndael (AES), Triple DES and Blowfish加密(Blowfish支持448位密钥)
    支持同步和异步方法加密
    支持字符串,流和文件加密,多个字符串,流和文件加密。
      

  5.   

    Blowfish加密
    个人觉得这个好点,1992年提出的新加密算法
      

  6.   

    MD5比较合适,容易找。
    或者自己写个加密,把 string打成字节数组,加密处理
    然后在返回来。
      

  7.   

    /// <summary>
    /// 返回于md5的加密码,支持16和32位
    /// </summary>
    /// <param name="str"></param>
    /// <param name="code"></param>
    /// <returns></returns>
    public string md5(string str,int code)
    {
    if(code==16) //16位MD5加密(取32位加密的9~25字符)
    {
    return FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16);
    }  
    if(code==32) //32位加密
    {
    return FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
    }
        
    return "00000000000000000000000000000000";
    }