当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net TripleDES加密、解密算法

asp.net TripleDES加密、解密算法

2018年04月21日  | 移动技术网IT编程  | 我要评论

邪之左手,飞机安检有辐射吗,1.85私服

using system;   

using system.collections.generic;   

using system.linq;   

using system.text;   

using system.security.cryptography;   

using system.io;   

namespace windowsformsapplication1   

{  

    #region tripledes算法   

  

    public class classtripledes   

    {   

        public classtripledes()   

        {   

        }   

  

        //加密,使用密码产生加密算法的公钥,并使用tripledes对密码进行加密。   

        public static string encrypt(string pass)   

        {   

            try  

            {   

                byte[] bt = (new system.text.unicodeencoding()).getbytes(pass);   

                passwordderivebytes pdb = new passwordderivebytes(pass, null);   

                byte[] key = pdb.getbytes(24);   

                byte[] iv = pdb.getbytes(8);   

                memorystream ms = new memorystream();   

                tripledescryptoserviceprovider tdesc = new tripledescryptoserviceprovider();   

                cryptostream cs = new cryptostream(ms, tdesc.createencryptor(key, iv), cryptostreammode.write);   

                cs.write(bt, 0, bt.length);   

                cs.flushfinalblock();   

                return convert.tobase64string(ms.toarray());   

            }   

            catch (exception ex)   

            {   

                throw ex;   

            }   

        }   

  

        //解密,使用密码产生加密算法的公钥,并使用tripledes对加密数据进行解密。   

        public static string decrypt(string str, string pass)   

        {   

            try  

            {   

                byte[] bt = convert.frombase64string(str);   

                passwordderivebytes pdb = new passwordderivebytes(pass, null);   

                byte[] key = pdb.getbytes(24);   

                byte[] iv = pdb.getbytes(8);   

                memorystream ms = new memorystream();   

                tripledescryptoserviceprovider tdesc = new tripledescryptoserviceprovider();   

                cryptostream cs = new cryptostream(ms, tdesc.createdecryptor(key, iv), cryptostreammode.write);   

                cs.write(bt, 0, bt.length);   

                cs.flushfinalblock();   

                return (new system.text.unicodeencoding()).getstring(ms.toarray());   

            }   

            catch (exception ex)   

            {   

                throw ex;   

            }   

        }   

        //使用:   

        //string str = encrypt("bbb");   

        //console.writeline(decrypt(str, "bbb"));   

  

        //加密,使用密码产生加密算法的公钥,并使用tripledes对密码进行加密。   

        public static string encryptwithkey(string pass, string p_key)   

        {   

            try  

            {   

                byte[] bt = (new system.text.unicodeencoding()).getbytes(pass);   

                passwordderivebytes pdb = new passwordderivebytes(p_key, null);   

                byte[] key = pdb.getbytes(24);   

                byte[] iv = pdb.getbytes(8);   

                memorystream ms = new memorystream();   

                tripledescryptoserviceprovider tdesc = new tripledescryptoserviceprovider();   

                cryptostream cs = new cryptostream(ms, tdesc.createencryptor(key, iv), cryptostreammode.write);   

                cs.write(bt, 0, bt.length);   

                cs.flushfinalblock();   

                return convert.tobase64string(ms.toarray());   

            }   

            catch (exception ex)   

            {   

                throw ex;   

            }   

        }   

  

        //解密,使用密码产生加密算法的公钥,并使用tripledes对加密数据进行解密。   

        public static string decryptwithkey(string str, string p_key)   

        {   

            try  

            {   

                byte[] bt = convert.frombase64string(str);   

                passwordderivebytes pdb = new passwordderivebytes(p_key, null);   

                byte[] key = pdb.getbytes(24);   

                byte[] iv = pdb.getbytes(8);   

                memorystream ms = new memorystream();   

                tripledescryptoserviceprovider tdesc = new tripledescryptoserviceprovider();   

                cryptostream cs = new cryptostream(ms, tdesc.createdecryptor(key, iv), cryptostreammode.write);   

                cs.write(bt, 0, bt.length);   

                cs.flushfinalblock();   

                return (new system.text.unicodeencoding()).getstring(ms.toarray());   

            }   

            catch (exception ex)   

            {   

                throw ex;   

            }   

        }   

  

    }  

 

    #endregion   

}  

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网