我用WinForm做一个发IC卡的程序让网页调用
当网页链接
ICCard:1 对用户1进行发IC卡
ICCard:2 对用户1进行发IC卡
因为这些是通过网页传值的
所以我怕用户自己在网页中输入如
ICCard:3 对用户3进行发IC卡,但这时他是没有权限对3进行发IC卡的
所以我想能不能对这个3进行加密如
ICCard:3|4sdf45465sd4f6sd2d1f3这里后面的4sdf45465sd4f6sd2d1f3= 3 通过DES加密 再通过 MD5加密最后在Winform得到3的时候再进行加密算法看后面的符不符合要求(但这样好像就是加了DES也是一样的)大家看看你们会是怎么来进行加密谢谢

解决方案 »

  1.   

    万物同宗.
    进行某种验证肯定是要的.虽然下贴的连接里跟你的问题不太一样,但问题的根源是一致的.
    http://topic.csdn.net/u/20071212/00/8c4026fd-d371-429b-9e5d-0e606da35889.html
    但是如何验证? 你的做法是有问题的, 说好听一点是画蛇添足,说不好听一点是..呵呵,不说了.你想一下,我如果直接把 5 ,然后和对5 des加密再md5加密得么的字串, 一起传过来,那你的将明码和编过码的码一起检测,不就形同虚设?可以让别人不知道你使用的算法.这样就可以了.个人看法,仅供参考.
      

  2.   

    网络上常用的方式是, 对需要传送的数据,再加一个校验码, 这个校验码,不出现在传送的数据里, 它与传送的数据一起,用md5(或几种加密方式组合),构造出传送的附加码.在发送端,和校验端对于不同的数据,有对应相同的校验码.
    比如
    那么实际上, 当要传两个参数 a=5 ,b =6 时,
    发送端和验证端都会有个 c=xxxxx , 发送端 将a,b,c一起进行md5加密码, 生成附加码 d, 那么传三个参数 a,b,d
    因为不出现c,所以别人无从改变 a,b从而伪造d.
    而对于验证端, 拿 a,b两个参数,再和验证端的c一起md5,得到d1,这时检测d与d1是否一致,一致则通过,否则就是伪造的.比如,支付宝就是采用的这种方式. 而它的校验码就是支付宝帐号商家公具里的那串字符. 这就是我上面举的例子里面的c