• 字符串加密解密类[封装][C#][asp.net]


    这个字符串加密解密类是广大程序员必不可少的[静态类]

     

     1using System;
     2using System.Text;
     3using System.Security.Cryptography;
     4using System.IO;
     5
     6 
     7
     8//默认密钥向量
     9private static byte[] Keys = 0x120x340x560x780x900xAB0xCD0xEF };
    10/**//// <summary>
    11/// DES加密字符串
    12/// </summary>
    13/// <param name="encryptString">待加密的字符串</param>
    14/// <param name="encryptKey">加密密钥,要求为8位</param>
    15/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>

    16public static string EncryptDES(string encryptString, string encryptKey)
    17{
    18    try
    19    {
    20        byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(08));
    21        byte[] rgbIV = Keys;
    22        byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
    23        DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
    24        MemoryStream mStream = new MemoryStream();
    25        CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
    26        cStream.Write(inputByteArray, 0, inputByteArray.Length);
    27        cStream.FlushFinalBlock();
    28        return Convert.ToBase64String(mStream.ToArray());
    29    }

    30    catch
    31    {
    32        return encryptString;
    33    }

    34}

    35
    36/**//// <summary>
    37/// DES解密字符串
    38/// </summary>
    39/// <param name="decryptString">待解密的字符串</param>
    40/// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
    41/// <returns>解密成功返回解密后的字符串,失败返源串</returns>

    42public static string DecryptDES(string decryptString, string decryptKey)
    43{
    44    try
    45    {
    46        byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
    47        byte[] rgbIV = Keys;
    48        byte[] inputByteArray = Convert.FromBase64String(decryptString);
    49        DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
    50        MemoryStream mStream = new MemoryStream();
    51        CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
    52        cStream.Write(inputByteArray, 0, inputByteArray.Length);
    53        cStream.FlushFinalBlock();
    54        return Encoding.UTF8.GetString(mStream.ToArray());
    55    }

    56    catch
    57    {
    58        return decryptString;
    59    }

    60}

    61

    下电影就上 挖沙啦电影网 - 更多免费高清电影下载
  • 相关阅读:
    上下伸展的JS菜单
    [ZZ]Debug VBScript with Visual Studio
    面试总结之杂题
    [ZZ]9 Confusing Naming Conventions for Beginners
    Robocopy
    [ZZ]什么是Alpha,Beta,RC,RTM,CTP版
    使用位运算交换两个值,不用临时变量
    学习笔记之编程之美微软技术面试心得(一)
    C#中如何获取系统环境变量
    学习笔记之SQL教程 from W3School
  • 原文地址:https://www.cnblogs.com/zzmzaizai/p/1006908.html
Copyright © 2020-2023  润新知