国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一個對稱加密、解密的方法C#工具類

2019-11-17 03:12:35
字體:
來源:轉載
供稿:網友
一個對稱加密、解密的方法C#工具類
using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Security.Cryptography;namespace CMD.EDI{    public class EncryptHandler    {        /// <summary>        /// 加密字符串        /// </summary>        public static string Encrypt(string passWord, string cleartext)        {            string password2 = "Ahbool";            string cipher;            char[] key = new char[8];            if (password.Length > 8)            {                password = password.Remove(8);            }            password.CopyTo(0, key, 0, password.Length);            char[] iv = new char[8];            if (password2.Length > 8)            {                password2 = password2.Remove(8);            }            password2.CopyTo(0, iv, 0, password2.Length);            if (cleartext == null)            {                return string.Empty;            }            SymmetricAlgorithm servicePRovider = new DESCryptoServiceProvider();            serviceProvider.Key = Encoding.ASCII.GetBytes(key);            serviceProvider.IV = Encoding.ASCII.GetBytes(iv);            MemoryStream memoryStream = new MemoryStream();            CryptoStream cryptoStream = new CryptoStream(memoryStream, serviceProvider.CreateEncryptor(), CryptoStreamMode.Write);            StreamWriter streamWriter = new StreamWriter(cryptoStream);            streamWriter.Write(cleartext);            streamWriter.Dispose();            cryptoStream.Dispose();            byte[] signData = memoryStream.ToArray();            memoryStream.Dispose();            serviceProvider.Clear();            cipher = Convert.ToBase64String(signData);            return cipher;        }        /// <summary>        /// 解密字符串        /// </summary>        public static string Decrypt(string password, string ciphertext)        {            string password2 = "Ahbool";            string cipher = string.Empty;            try            {                char[] key = new char[8];                if (password.Length > 8)                {                    password = password.Remove(8);                }                password.CopyTo(0, key, 0, password.Length);                char[] iv = new char[8];                if (password2.Length > 8)                {                    password2 = password2.Remove(8);                }                password2.CopyTo(0, iv, 0, password2.Length);                if (ciphertext == null)                {                    return cipher;                }                SymmetricAlgorithm serviceProvider = new DESCryptoServiceProvider();                serviceProvider.Key = Encoding.ASCII.GetBytes(key);                serviceProvider.IV = Encoding.ASCII.GetBytes(iv);                byte[] contentArray = Convert.FromBase64String(ciphertext);                MemoryStream memoryStream = new MemoryStream(contentArray);                CryptoStream cryptoStream = new CryptoStream(memoryStream, serviceProvider.CreateDecryptor(), CryptoStreamMode.Read);                StreamReader streamReader = new StreamReader(cryptoStream);                cipher = streamReader.ReadToEnd();                streamReader.Dispose();                cryptoStream.Dispose();                memoryStream.Dispose();                serviceProvider.Clear();            }            catch (Exception ex)            {                throw new SystemException("密鑰錯誤,數據包解密失敗.");            }            return cipher;        }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东至县| 舟曲县| 张北县| 开化县| 芦山县| 博罗县| 吉安县| 会东县| 句容市| 宁津县| 洛隆县| 石泉县| 杂多县| 湘西| 元谋县| 龙江县| 荃湾区| 屏山县| 商丘市| 武强县| 夹江县| 台安县| 临高县| 康平县| 鹤山市| 隆子县| 南投市| 雷波县| 深圳市| 新龙县| 桑日县| 漯河市| 顺昌县| 烟台市| 阜南县| 定西市| 苏尼特左旗| 宣城市| 桂平市| 皋兰县| 南充市|