我的网站当用户提交信件后,需要返回一个查询码供用户以后查询数据使用,这个查询码是由信件编号(如2012032100032)加密而成,要求这个查询码只能是大写字母和数字组成,这是为了方便用户记。不能生成一串乱码。

解决方案 »

  1.   

    兄弟给你个方法,前两天我想给存入Cookies的字符串加密处理,我自己写的算法就是将0-9还有大小写所有的英文字母,再加上一些标点包括特殊字符随机省成很长的字符串,然后把你的文本一个个的截取,按一定规则插入这个字符串的某个位置,当然我做的比这个难些,希望给你提醒!如果需要我把代码发你
      

  2.   

    既然要加密,就不要想着还要好记,那是不可能的,随便一个rsa,des 等都可以,如果能用md5就更理想了,规定只能是字母,数字,那就在Hex一下,转换成16进制字符串好了。
      

  3.   

    加密的话 可以采用Base64加加密。或者MD5都可以 。
      

  4.   

    而且这两种加密.NET都有现成的库可以直接调用的 。。
      

  5.   

    我说不是用作登陆密码,
    业务需求是这样,用户在网站上提交一个投诉信件,添加后,系统返回一个查询码,告诉用户,通过这个查询码可以查询信件反馈情况并对信件评价。
    信件用户提交的信件可能是不想公开的,所以不能让其他人查看到,如果把信件编号暴漏出来,比如2012032100001,那么很显然XXX002的就是下一个信件,这样信件内容就被别人看到了。
    所以我要找一种加解密的方式来隐藏信件编号。当然,还有另一种方式来保密,就是用户添加信件后,返回给他信件编号和密码,用户通过信件编号和密码来查询数据。这么做就会多处个字段,而且用户要记录两个编码。
      

  6.   

    使用.NET自带的加解密方式,比如DESCryptoServiceProvider,的确是可以做多我说的要求,但客户一看查询码是个乱码,含字母数字及各种特殊符号,就不满意了,所以……
      

  7.   

    自定义或者base64,也可以两者结合,给用户的是加密之后的,使用时再解密。