大家可以提供建议也可以直接提供代码

解决方案 »

  1.   

    其实ini加密  无非是加密里面的 值·  建议可以用 MD5 加密值
     到网上下载一个MD5的源码    思路
         string a=MD5.DoMD5("需要加密的值");    a 就成为加密后的值 然后用流存进 ini 文件中
      

  2.   

    ini是个文本文件其实,有N种方法加密解密
    常见的有:
    用API操作INI和自解析~
    不管操作和自解析,都可以采用,讲每个字符XOR一个任意数,然后解密时候还XOR这个任意数,就得到这个字符本身。这是最初级的。
    还可以用流提供的加密流,比如 System.Security.Cryptography 空间里的类们~
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Text;using System.Security.Cryptography;namespace Common
    {
        public class DESEncrypt
        {
            public DESEncrypt() { }
            #region 加密数据
            /// <summary>
            /// 加密处理
            /// </summary>
            /// <param name="str">要加密的字符串</param>
            /// <returns></returns>
            public static string Encrypt(string str)
            {
                return Encrypt(str,"zhangyue2010");
            }
            /// <summary>
            /// 加密处理
            /// </summary>
            /// <param name="str">要加密的字符串</param>
            /// <param name="key">key值</param>
            /// <returns></returns>
            public static string Encrypt(string str, string key)
            {
                //定义访问数据加密标准
                DESCryptoServiceProvider dsp = new DESCryptoServiceProvider();
                byte[] inputArray;
                inputArray = Encoding.Default.GetBytes(str);
                dsp.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(key,"md5").Substring(0,8));
                dsp.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").Substring(0, 8));
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms, dsp.CreateEncryptor(), CryptoStreamMode.Write);
                cs.Write(inputArray,0,inputArray.Length);
                cs.FlushFinalBlock();
                StringBuilder sb = new StringBuilder();
                foreach(byte b in ms.ToArray())
                {
                    sb.AppendFormat("{0:X2}",b);
                }
                return sb.ToString();
            }
            #endregion        #region 解密数据
            /// <summary>
            /// 解密处理
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static string Decrypt(string str)
            {
                return Decrypt(str,"zhangyue2010");
            }
            /// <summary>
            /// 解密处理
            /// </summary>
            /// <param name="str"></param>
            /// <param name="key"></param>
            /// <returns></returns>
            public static string Decrypt(string str, string key)
            {
                DESCryptoServiceProvider dsp = new DESCryptoServiceProvider();
                int len;
                len = str.Length / 2;
                byte[] inputArray=new byte[len];
                int i, j;
                for (i = 0; i < len; i++)
                {
                    i = Convert.ToInt32(str.Substring(i*2,2),16);
                    inputArray[i] = (byte)i;
                }
                dsp.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(key,"md5").Substring(0,8));
                dsp.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").Substring(0, 8));
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms,dsp.CreateDecryptor(),CryptoStreamMode.Write);
                cs.Write(inputArray,0,inputArray.Length);
                cs.FlushFinalBlock();
                return Encoding.Default.GetString(ms.ToArray());
            }
            #endregion
        }
    }
    可以看看呦