zoukankan      html  css  js  c++  java
  • 加密、解密(默认密钥向量)

    using System;
    using System.Security.Cryptography;
    using System.Text;

    namespace Infrastructure
    {
    public class Encryption
    {
    private static string encryptKey = "4h!@w$rng,i#$@x1%)5^3(7*5P31/Ee0";

    //默认密钥向量
    private static byte[] Keys = { 0x41, 0x72, 0x65, 0x79, 0x6F, 0x75, 0x6D, 0x79, 0x53, 0x6E, 0x6F, 0x77, 0x6D, 0x61, 0x6E, 0x3F };
    /// <summary>
    /// 加密
    /// </summary>
    /// <param name="encryptString"></param>
    /// <returns></returns>
    public static string Encrypt(string encryptString)
    {
    if (string.IsNullOrEmpty(encryptString))
    return string.Empty;
    RijndaelManaged rijndaelProvider = new RijndaelManaged();
    rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
    rijndaelProvider.IV = Keys;
    ICryptoTransform rijndaelEncrypt = rijndaelProvider.CreateEncryptor();

    byte[] inputData = Encoding.UTF8.GetBytes(encryptString);
    byte[] encryptedData = rijndaelEncrypt.TransformFinalBlock(inputData, 0, inputData.Length);

    return Convert.ToBase64String(encryptedData);
    }
    /// <summary>
    /// 解密
    /// </summary>
    /// <param name="decryptString"></param>
    /// <returns></returns>
    public static string Decrypt(string decryptString)
    {
    if (string.IsNullOrEmpty(decryptString))
    return string.Empty;
    try
    {
    RijndaelManaged rijndaelProvider = new RijndaelManaged();
    rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
    rijndaelProvider.IV = Keys;
    ICryptoTransform rijndaelDecrypt = rijndaelProvider.CreateDecryptor();

    byte[] inputData = Convert.FromBase64String(decryptString);
    byte[] decryptedData = rijndaelDecrypt.TransformFinalBlock(inputData, 0, inputData.Length);

    return Encoding.UTF8.GetString(decryptedData);
    }
    catch
    {
    return "";
    }
    }
    }
    }

  • 相关阅读:
    深入理解 Netty编码流程及WriteAndFlush()的实现
    深入理解 Netty-解码器架构与常用解码器
    暑假集训Day 5 P3963 [TJOI2013] 奖学金
    暑假集训日记Day xx
    P3226 [HNOI2012]集合选数 状压dp(思维题)
    线段树(毒瘤)总结
    P3622 [APIO2007]动物园
    暑假集训Day 4 P4163 [SCOI2007]排列 (状压dp)
    暑假集训Day2 互不侵犯(状压dp)
    暑假集训Day2 状压dp 特殊方格棋盘
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/10998268.html
Copyright © 2011-2022 走看看