阅读675 返回首页    go 阿里云 go 技术社区[云栖]


C#加密解密字符串

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Web;
using System.IO;

namespace XXKey
{
    public class NewEncrypt
    {
        static byte[] deKey = Encoding.Default.GetBytes("asdfghjkasdfghjkasdfghjkasdfghjk");
        static byte[] deIV = Encoding.Default.GetBytes("asdfghjkasdfghjk");

        public static string Encrypt(string PlainText)
        {
            return Encrypt(PlainText, deKey, deIV);
        }

        private static string Encrypt(string PlainText, byte[] deKey, byte[] deIV)
        {
            MemoryStream ms = new MemoryStream();
            //DESCryptoServiceProvider key = new DESCryptoServiceProvider();
            SymmetricAlgorithm key = SymmetricAlgorithm.Create();

            CryptoStream encStream = new CryptoStream(ms, key.CreateEncryptor(deKey, deIV), CryptoStreamMode.Write);
            StreamWriter sw = new StreamWriter(encStream);

            sw.WriteLine(PlainText);
            sw.Close();
            encStream.Close();

            byte[] buffer = ms.ToArray();
            ms.Close();

            return Encoding.Default.GetString(buffer);
        }

        public static string Decrypt(string CypherText)
        {
            return Decrypt(CypherText, deKey, deIV);
        }

        private static string Decrypt(string CypherText, byte[] deKey, byte[] deIV)
        {
            MemoryStream ms = new MemoryStream(Encoding.Default.GetBytes(CypherText));
            //DESCryptoServiceProvider key = new DESCryptoServiceProvider();
            SymmetricAlgorithm key = SymmetricAlgorithm.Create();

            CryptoStream encStream = new CryptoStream(ms, key.CreateDecryptor(deKey, deIV), CryptoStreamMode.Read);
            StreamReader sr = new StreamReader(encStream);

            string val = sr.ReadLine();

            sr.Close();
            encStream.Close();
            ms.Close();

            return val;
        }
    }
}



最后更新:2017-04-03 07:57:10

  上一篇:go java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)
  下一篇:go 项目经理10大成功态度