解决方案 »

  1.   

    你可以用一个秘钥加密,解密的时候凭这个秘钥解密就行了
    /// <summary> 
            /// 加密数据 
            /// </summary> 
            /// <param name="Text"></param> 
            /// <param name="sKey"></param> 
            /// <returns></returns> 
            public static string Encrypt(string Text, string sKey)
            {
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                byte[] inputByteArray;
                inputByteArray = Encoding.Default.GetBytes(Text);
                des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                StringBuilder ret = new StringBuilder();
                foreach (byte b in ms.ToArray())
                {
                    ret.AppendFormat("{0:X2}", b);
                }
                return ret.ToString();
            }
         /// <summary> 
            /// 解密数据 
            /// </summary> 
            /// <param name="Text"></param> 
            /// <param name="sKey"></param> 
            /// <returns></returns> 
            public static string Decrypt(string Text, string sKey)
            {
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                int len;
                len = Text.Length / 2;
                byte[] inputByteArray = new byte[len];
                int x, i;
                for (x = 0; x < len; x++)
                {
                    i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
                    inputByteArray[x] = (byte)i;
                }
                des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                return Encoding.Default.GetString(ms.ToArray());
            }
    那个什么接口,当用户点击注销的时候,把这个cookie的时效设置过期不就行了?
      

  2.   

    我也是那么想的,不过他专门给了一个URL地址,说每次注销的时候访问这个链接,就可以实现注销。
    所以,肯定要按照他的需求来做。
    所以,我不知道这个链接应该是什么?一个网页?还是一段代码?在这里需要做什么?
      

  3.   

    学习学习,可不可以使用user的model,登陆之后,将客户的数据存储到数据库里,退出的时候,设置session过期
      

  4.   

    那你问他,这个url要传什么参数过去,或者要一份这个url的代码啊...
    或者问一下 把登陆写到cookie里面 具体要怎么弄,那随便发一个网址,谁懂里面搞什么东西
      

  5.   

    网址访问不了。问一下你们后台是用什么语言做的?一般就算是加密了,也不会把账号和密码存到cookie的,只会存账号吧。你说的注销接口需要传什么参数没有?我感觉那像一个RESTful API,把账号传过去,后台就执行让账号注销的逻辑处理。
      

  6.   

    网址访问不了。问一下你们后台是用什么语言做的?一般就算是加密了,也不会把账号和密码存到cookie的,只会存账号吧。你说的注销接口需要传什么参数没有?我感觉那像一个RESTful API,把账号传过去,后台就执行让账号注销的逻辑处理。
      

  7.   

    你好。
    大概是这样:
    后台我用的是CGI,一种比较老的技术,上头要求的,然后是shell脚本写的。
    因为公司的板子上没有PHP,也没有jvm,所以PHP和JAVA都排除了。如果是C的话,需要用交叉编译工具,麻烦,所以选择了shell脚本。我没有做过登陆和注销的东西,甚至连网页都很少做,所以,能给个思路不。
    你 感觉,大概应该是如何做?用什么技术,我调研一下下~~谢谢啦
      

  8.   

    你好。
    大概是这样:
    后台我用的是CGI,一种比较老的技术,上头要求的,然后是shell脚本写的。
    因为公司的板子上没有PHP,也没有jvm,所以PHP和JAVA都排除了。如果是C的话,需要用交叉编译工具,麻烦,所以选择了shell脚本。我没有做过登陆和注销的东西,甚至连网页都很少做,所以,能给个思路不。
    你 感觉,大概应该是如何做?用什么技术,我调研一下下~~谢谢啦
      

  9.   

    你好。
    大概是这样:
    后台我用的是CGI,一种比较老的技术,上头要求的,然后是shell脚本写的。
    因为公司的板子上没有PHP,也没有jvm,所以PHP和JAVA都排除了。如果是C的话,需要用交叉编译工具,麻烦,所以选择了shell脚本。我没有做过登陆和注销的东西,甚至连网页都很少做,所以,能给个思路不。
    你 感觉,大概应该是如何做?用什么技术,我调研一下下~~谢谢啦
      

  10.   

    你对cookie的理解是错的。所有的书上都写着cookie中是不能保存密码这类信息的。
    当验证成功后,你在服务器端向客户端发放一个cookie,也就是响应头Set-Cookie:cookieName=cookieValue
    这样的格式,服务器编程语言都会提供这类api,不用向上面这样写。浏览器接收cookie后,如果是持久的,则保存到硬盘,如果是会话型cookie则保存在浏览器进程中(关闭进程下次登录就没有了)
    持久性cookie如果没有过期,且cookie的domain与请求的域相同,path相同,则会在请求过程中以Cookie请求头的形式发送到服务器端,服务器端判断该Cookie的cookieName是否存在,如果存在,则可以认为用户是登录用户
    再解析CookieValue中的内容,如果用户ID,这个用户ID出于安全考虑可以加密。
      

  11.   

    cookie中存用户名密码那是记住密码功能吧?登录状态应该另外是个cookie吧?
    我现在弄得东西比较简单,安全度要求不高,所以我就把id记下来,cookie只有个已登录状态,以后发送请求的时候带上id作为参数,服务器端验证下。没cookie时自动跳转到登陆界面