c# 加密与解密 Base64Encode

来源:互联网 发布:芈月传 大秦帝国 知乎 编辑:程序博客网 时间:2024/04/18 09:00
public class ConfigManager
    {
        //成员变量
        /// <summary>
        /// 配置文件对象
        /// </summary>
        XmlDocument _Config = null;


        /// <summary>
        /// 登录配置
        /// </summary>
        XmlElement _LoginConig = null;


        /// <summary>
        /// 配置文件路径
        /// </summary>
        string _ConfigPath = "";


        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName
        {
            get { return _LoginConig.SelectSingleNode("UserName").InnerText; }
            set { _LoginConig.SelectSingleNode("UserName").InnerText = value; }
        }


        /// <summary>
        /// 密码
        /// </summary>
        public string PassWord
        {
            get { return Base64Decode(_LoginConig.SelectSingleNode("PassWord").InnerText); }
            set { _LoginConig.SelectSingleNode("PassWord").InnerText = Base64Encode(value); }
        }


        /// <summary>
        /// 记住密码
        /// </summary>
        public string RememberPwd
        {
            get { return _LoginConig.SelectSingleNode("RememberPwd").InnerText; }
            set { _LoginConig.SelectSingleNode("RememberPwd").InnerText = value; }
        }


        /// <summary>
        /// 载入配置文件
        /// </summary>
        /// <returns></returns>
        public bool LoadConfig()
        {
            _ConfigPath = Environment.CurrentDirectory + "\\" + "LoginInfo.xml";
            //不存在配置则创建
            if (!File.Exists(_ConfigPath))
            {
                StreamWriter sw = File.CreateText(_ConfigPath);
                string content = @"<config>
    <LoginConfig>
        <UserName></UserName>
        <PassWord></PassWord>
        <RememberPwd></RememberPwd>
    </LoginConfig>
</config>";
                sw.Write(content);
                sw.Flush();
                sw.Close();
            }
            _Config = new XmlDocument();
            _Config.Load(_ConfigPath);//装载XML文档
            _LoginConig = (XmlElement)_Config.DocumentElement.ChildNodes[0];
            return true;
        }


        public bool Save()
        {
            if (string.IsNullOrEmpty(_ConfigPath))
                return false;
            _Config.Save(_ConfigPath);
            return true;
        }


        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="str"></param>
        private string Base64Encode(string str)
        {
            if (string.IsNullOrEmpty(str))
                return str;
            byte[] encbuff = System.Text.Encoding.UTF8.GetBytes(str);
            return Convert.ToBase64String(encbuff);
        }


        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private string Base64Decode(string str)
        {
            if (string.IsNullOrEmpty(str))
                return str;
            byte[] decbuff = Convert.FromBase64String(str);
            return System.Text.Encoding.UTF8.GetString(decbuff, 0, decbuff.Length);
        }
    }
0 0
原创粉丝点击