日期:2014-05-17  浏览次数:20677 次

请问,连接字符串加密
在百度中,找到对连接字符串进行加密的函数,一个加密函数,一个解密函数
我想问的是,对于保存在文件中的加密过的字符串,任何人都可以用解密函数进行解密啊
具体是怎么处理的呢?

------解决方案--------------------
这就像保险柜放在那,里面的钱任何人都可以拿走啊。但你没有钥匙你打得开保险柜吗?
别人就算知道解密算法,没有key也白搭
------解决方案--------------------
加密解密不都有密钥吗?你密钥别让人知道了,别人就不好破解了
------解决方案--------------------
对于黑客,一般的加密函数,都是小儿科,他们干的就是这个
------解决方案--------------------
前几天我也在考虑这个问题,因为.Net编译的程序可以反编译,所以如果想搞破坏,很容易啊。
反编译后,有算法,有密钥。

------解决方案--------------------
防君子防不了"小人"

------解决方案--------------------
引用:
防君子防不了"小人"


++
------解决方案--------------------

        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="encryptString">加密内容</param>
        /// <param name="encryptKey">密匙,长度8位</param>
        /// <returns>加密后的内容</returns>
        public static string Encode(string encryptString, string encryptKey)
        {
            DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
            byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey);
            byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
            MemoryStream mStream = new MemoryStream();
            CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbKey), CryptoStreamMode.Write);
            cStream.Write(inputByteArray, 0, inputByteArray.Length);
            cStream.FlushFinalBlock();
            return Convert.ToBase64String(mStream.ToArray());
        }

        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="decryptString">加密的内容</param>
        /// <param name="decryptKey">密匙:内容加密的密匙,长度8位</param>
        /// <returns>解密后的内容</returns>
        public static string Decode(string decryptString, string decryptKey)
        {
            byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);