关于C# DES加密时密钥问题 10
为什么有些des.Key=ASCIIEncoding.ASCII.GetBytes(sKey);des.IV=ASCIIEncoding.ASCII.GetBytes(s...
为什么有些des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); 是这样写
而有一些是这样写 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.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)
我想知道为什么?
加密函数 Encrypt(string Text, string sKey) //其中Text表示要加密的字符串,sKey表示密钥
还有在我把一串字符加密之后,假如这个密钥为"Key",我想知道这个密钥保存在哪儿呢? 展开
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); 是这样写
而有一些是这样写 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.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)
我想知道为什么?
加密函数 Encrypt(string Text, string sKey) //其中Text表示要加密的字符串,sKey表示密钥
还有在我把一串字符加密之后,假如这个密钥为"Key",我想知道这个密钥保存在哪儿呢? 展开
展开全部
1)DES加密程序中,保存key和iv有两种做法
【Ⅰ】将key和iv“写死”在在程序中,一旦程序编译发布后,key和iv就无法改变
【Ⅱ】将保存key和iv保存在配置文件中,程序发布后,可以随时改变配置文件中的key和iv
为了增加安全性,在第二种方法中,配置文件中保存的不是key和iv的明文,而是用md5加密后的key和iv。这样,即使你的程序发布出去,别人也无法知道程序中真正使用的key和iv是什么,增加了安全性。
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)的作用是从配置文件取出加密的key和iv,然后用md5将解密,从而得到真正的key和iv
2)明白了1)后,第二个问题就容易理解了。
【Ⅰ】将key和iv“写死”在在程序中,一旦程序编译发布后,key和iv就无法改变
【Ⅱ】将保存key和iv保存在配置文件中,程序发布后,可以随时改变配置文件中的key和iv
为了增加安全性,在第二种方法中,配置文件中保存的不是key和iv的明文,而是用md5加密后的key和iv。这样,即使你的程序发布出去,别人也无法知道程序中真正使用的key和iv是什么,增加了安全性。
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)的作用是从配置文件取出加密的key和iv,然后用md5将解密,从而得到真正的key和iv
2)明白了1)后,第二个问题就容易理解了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询