web.config中有一些敏感信息,比如用户名、密码等 想对其进行加密
1.一种方式是在web.config中存储密文,在程序中再进行解密,感觉不是很理想
2.还有一种我看网上说是用aspnet_regiis工具,通过执行相关的命令就可以加密,但我在运行时发现输入要执行的命令时(各参数都是参考的MSDN的) 总给我显示命令的参数信息,而不执行命令
另外想问一下:用aspnet_regiis进行加密,如果网站重新在别的机器上部署的话,是不是还需要拷贝存储密钥相关的文件?除了这两种方式还有别的加密方式吗?谢谢,有经验的兄弟说说

解决方案 »

  1.   

    你可以用一种加密算法加密之后写入webconfig文件啊,然后把输入的东西加密和配置文件比较看看是不是一样的东西啊
      

  2.   

    谢谢,你的意思和我说的第一种情况类似,是在web.config中存储密文,不知道还有别的加密方式没有吗?
      

  3.   

    比如说aa加密之后的内容是asfadf,就把asfadf写到配置文件中
    然后用户输入bb,就加密bb,得到ghjd,和asfadf不一样就是输入错误了
    如果加密结果是asfadf,就说明输入的是aa了
      

  4.   

    我一般把数据库链接写在CS中,不知道是不是加密了,因为编译的时候CS是看不到的
      

  5.   

    第一种情况比较多用,加密完再cs文件里面解密就可以了,cs文件你又不公开,
    觉得再不理想,解密的时候就调用外部动态链接库DLL里的方法,DLL文件可以用工具加密啊
      

  6.   

    谢谢诸位的回复我自己感觉主要有两个方式进行加密
    1.提前加密,将加密后的信息写入配置文件,然后在程序里进行解密,这种方式不太好的地方在于如果以后想更改配置文件加密的那一部分不是很灵活
    2.用微软的aspnet_regiis工具,这个工具用起来还是很简单的,在MSDN里面有详细的操作流程,不过在移植性方面确实不是很方便企业库也可以对配置文件进行加密,但是功能好像有限,不能够对web.config中任意指定的模块进行加密(我自己没有进行测试)
      

  7.   

    DES算法加密后保存在web.config中,读取的时候再解密