华域联盟 .Net c#加密类使用方法示例

c#加密类使用方法示例

复制代码 代码如下:

using System;

using System.IO;

using System.Text;

using System.Security.Cryptography;

using System.Web;

namespace Encryption.App_Code

{

    /// <summary>

    /// 加密码类

    /// </summary>

    public class Encryption

    {

        /// <summary>

        /// 加密

        /// </summary>

        /// <param name="inputString"></param>

        /// <returns></returns>

        public static string DesEncrypt(string inputString)

        {

            return DesEncrypt(inputString, Key);

        }

        /// <summary>

        /// 解密

        /// </summary>

        /// <param name="inputString"></param>

        /// <returns></returns>

        public static string DesDecrypt(string inputString)

        {

            return DesDecrypt(inputString, Key);

        }

        /// <summary>

        /// 密匙

        /// </summary>

        private static string Key

        {

            get

            {

                return "hongye10";

            }

        }

        /// <summary>

        /// 加密字符串

        /// 注意:密钥必须为8位

        /// </summary>

        /// <param name="strText">字符串</param>

        /// <param name="encryptKey">密钥</param>

        /// <param name="encryptKey">返回加密后的字符串</param>

        public static string DesEncrypt(string inputString, string encryptKey)

        {

            byte[] byKey = null;

            byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };

            try

            {

                byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();

                byte[] inputByteArray = Encoding.UTF8.GetBytes(inputString);

                MemoryStream ms = new MemoryStream();

                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);

                cs.Write(inputByteArray, 0, inputByteArray.Length);

                cs.FlushFinalBlock();

                return Convert.ToBase64String(ms.ToArray());

            }

            catch (System.Exception error)

            {

                //return error.Message;

                return null;

            }

        }

        /// <summary>

        /// 解密字符串

        /// </summary>

        /// <param name="this.inputString">加了密的字符串</param>

        /// <param name="decryptKey">密钥</param>

        /// <param name="decryptKey">返回解密后的字符串</param>

        public static string DesDecrypt(string inputString, string decryptKey)

        {

            byte[] byKey = null;

            byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };

            byte[] inputByteArray = new Byte[inputString.Length];

            try

            {

                byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();

                inputByteArray = Convert.FromBase64String(inputString);

                MemoryStream ms = new MemoryStream();

                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);

                cs.Write(inputByteArray, 0, inputByteArray.Length);

                cs.FlushFinalBlock();

                System.Text.Encoding encoding = new System.Text.UTF8Encoding();

                return encoding.GetString(ms.ToArray());

            }

            catch (System.Exception error)

            {

                //return error.Message;

                return null;

            }

        }

    }

}

您可能感兴趣的文章:

  • c#哈希算法的实现方法及思路
  • C#中哈希表(Hashtable)的介绍及简单用法
  • C#自定义RSA加密解密及RSA签名和验证类实例
  • C#加密解密类实例程序
  • C#简单的加密类实例
  • C#获取哈希加密生成随机安全码的类实例

本文由 华域联盟 原创撰写:华域联盟 » c#加密类使用方法示例

转载请保留出处和原文链接:https://www.cnhackhy.com/52719.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部