字符串加解密//////publicclassEncrypt{privateSymmetricAlgorithmmCSP;privateconststringCIV="oo*/^fsA";//密鑰,只能是8位privateconststri" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

通過密鑰對字符串進行加解密(C#)

系統 2191 0
  視頻上看到的例子,對著視頻打了一遍代碼,測試失敗,上網搜索后改了一下測試成功,不知道為什么跟視頻上打的一樣的代碼視頻上測試的正確而我的測試出錯的,先不管了,先記下來,以備后用!
    
  /// <summary>字符串加解密
    /// 
    /// </summary>
    public class Encrypt
    {
        private SymmetricAlgorithm mCSP;
        private const string CIV = "oo*/^fsA";  //密鑰, 只能是8位
        private const string CKEY = "f123$dew"; //初始化向量, 只能是8位

        public Encrypt()
        {
            mCSP = new DESCryptoServiceProvider();
        }

        /// <summary>加密字符串
        /// 
        /// </summary>
        /// <param name="Value"></param>
        /// <returns></returns>
        public string EncryptString(string Value)
        {
            ICryptoTransform ct;
            MemoryStream ms;
            CryptoStream cs;
            byte[] byt;
            // 這里視頻上用的是Convert.FromBase64String(CKEY/CIV),但是我用的話總是出現錯誤,什么大小不對
            ct = mCSP.CreateEncryptor(Encoding.ASCII.GetBytes(CKEY), Encoding.ASCII.GetBytes(CIV));
            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());
        }

        /// <summary>解密字符串
        /// 
        /// </summary>
        /// <param name="Value"></param>
        /// <returns></returns>
        public string DecryptString(string Value)
        {
            ICryptoTransform ct;
            MemoryStream ms;
            CryptoStream cs;
            byte[] byt;
            ct = mCSP.CreateDecryptor(Encoding.ASCII.GetBytes(CKEY), Encoding.ASCII.GetBytes(CIV));
            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());
        }
    }

  

測試代碼:
    
        static void Main(string[] args)
        {
            Console.Write("請輸入要加密的字符串:");
            string str = Console.ReadLine();
            Console.WriteLine("加密后:" + new Encrypt().EncryptString(str));
            Console.ReadLine();

            Console.Write("請輸入要解密的字符串:");
            string str2 = Console.ReadLine();
            Console.WriteLine("解密后:" + new Encrypt().DecryptString(str2));
            Console.ReadLine();
        }

  

測試效果:

通過密鑰對字符串進行加解密(C#)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 郸城县| 涟源市| 金乡县| 嘉定区| 颍上县| 自治县| 宁强县| 涡阳县| 开平市| 赤水市| 四川省| 错那县| 金川县| 乳山市| 兴隆县| 定西市| 丽江市| 定南县| 德惠市| 陆河县| 南康市| 名山县| 靖安县| 聂荣县| 永定县| 合川市| 东港市| 许昌县| 土默特左旗| 涟水县| 长宁县| 临洮县| 澄江县| 嘉义市| 昔阳县| 分宜县| 永宁县| 江津市| 林西县| 定西市| 于都县|