字符串加密解密

    技术2022-05-11  71

     类文件代码

     

    using  System; using  System.Text; using  System.IO; using  System.Security.Cryptography; namespace  WebApplicationI {    public abstract class  ClassDE    {                public    static void Ecode(string strEcode)        {                        btnKeyGen();                        btnIVGen();                         txtEncrypted = EncryptString(strEcode);            //            txtOriginal = DecryptString(txtEncrypted);        }        public static void Dcode(string strEncrypted)        {            txtEncrypted    =    strEncrypted;            btnKeyGen();                        btnIVGen();                                    txtOriginal = DecryptString(txtEncrypted);        }        public static string Encrypted        {            get            {return txtEncrypted;            }        }        public static    string    Original        {            get{return txtOriginal;}        }        private static SymmetricAlgorithm mCSP;        //下面的两个key值可以自己设置        private static string txtKey    =    "tkGGRmBErVC=";//设置加密Key        private static string txtIV        =        "Kl7ZgtM1dvQ=";//设置加密IV        private    static string txtEncrypted =string.Empty ,txtOriginal = string.Empty ;                    private static void btnKeyGen()        {            mCSP = SetEnc();            byte[] byt2 = Convert.FromBase64String(txtKey);            mCSP.Key = byt2;        }        private static void btnIVGen()        {            byte[] byt2 = Convert.FromBase64String(txtIV);            mCSP.IV = byt2;        }        private static string EncryptString(string Value)        {            ICryptoTransform ct;            MemoryStream ms;            CryptoStream cs;            byte[] byt;            ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);            byt = Encoding.UTF8.GetBytes(Value);            ms = new MemoryStream();            cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);            cs.Write(byt, 0, byt.Length);            cs.FlushFinalBlock();             cs.Close();            return Convert.ToBase64String(ms.ToArray());        }        private static string DecryptString(string Value)        {            ICryptoTransform ct;            MemoryStream ms;            CryptoStream cs;            byte[] byt;            ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);            byt = Convert.FromBase64String(Value);            ms = new MemoryStream();            cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);            cs.Write(byt, 0, byt.Length);            cs.FlushFinalBlock();            cs.Close();            return Encoding.UTF8.GetString(ms.ToArray());        }        private static SymmetricAlgorithm SetEnc()        {            return new DESCryptoServiceProvider();        }    }}

     

     

    前台调用部分

     

    string  _sqlConn     = "  需要加密的字符串 " ;                        Page.Response .Write( " 加密测试: " + _sqlConn);            Page.Response .Write( " <br> " );            ClassDE.Ecode  (_sqlConn);            Page.Response .Write( " <br> " );            Page.Response .Write(    ClassDE.Encrypted);            Page.Response .Write( " <br> " );            Page.Response .Write(    ClassDE.Original);            Page.Response .Write( " <br> " );            Page.Response .Write( " <br> " );            Page.Response .Write( " <br> " );            Page.Response .Write( " <br> " );             string  Encode  =   "  经过加密的字符串 " ;            Page.Response .Write( " 解密测试: " + Encode);            Page.Response .Write( " <br> " );            ClassDE.Dcode   (Encode);            Page.Response .Write( " <br> " );            Page.Response .Write(    ClassDE.Encrypted);            Page.Response .Write( " <br> " );            Page.Response .Write(    ClassDE.Original);

     

    最新回复(0)