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

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

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

系統 2212 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條評論
主站蜘蛛池模板: 惠东县| 海淀区| 聂拉木县| 陆良县| 永吉县| 普格县| 集安市| 鸡泽县| 花莲县| 襄汾县| 望城县| 竹溪县| 临朐县| 河池市| 嘉祥县| 松江区| 承德县| 太仆寺旗| 广平县| 涟源市| 容城县| 朝阳县| 酒泉市| 泰和县| 修文县| 汶上县| 普安县| 东乌| 石家庄市| 寿宁县| 湘潭市| 东安县| 海口市| 万盛区| 峨边| 同心县| 屏山县| 无棣县| 宁海县| 敦煌市| 灵川县|