zoukankan      html  css  js  c++  java
  • des加密解密

    加密字符串 

    public static string Encrypt(string sourceString, string key, string iv)
            {
                try
                {
                    byte[] btKey = Encoding.UTF8.GetBytes(key);

                    byte[] btIV = Encoding.UTF8.GetBytes(iv);

                    DESCryptoServiceProvider des = new DESCryptoServiceProvider();

                    using (MemoryStream ms = new MemoryStream())
                    {
                        byte[] inData = Encoding.UTF8.GetBytes(sourceString);
                        try
                        {
                            using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write))
                            {
                                cs.Write(inData, 0, inData.Length);

                                cs.FlushFinalBlock();
                            }

                            return Convert.ToBase64String(ms.ToArray());
                        }
                        catch
                        {
                            return sourceString;
                        }
                    }
                }
                catch { }

                return "DES加密出错";
            }

    解密字符串

     public static string Decrypt(string encryptedString, string key, string iv)
            {
                byte[] btKey = Encoding.UTF8.GetBytes(key);

                byte[] btIV = Encoding.UTF8.GetBytes(iv);

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();

                using (MemoryStream ms = new MemoryStream())
                {
                    byte[] inData = Convert.FromBase64String(encryptedString);
                    try
                    {
                        using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write))
                        {
                            cs.Write(inData, 0, inData.Length);

                            cs.FlushFinalBlock();
                        }

                        return Encoding.UTF8.GetString(ms.ToArray());
                    }
                    catch
                    {
                        return encryptedString;
                    }
                }
            }

    加密

    public static string EncryptString(string sInputString, string sKey, string sIV)
            {
                try
                {
                    byte[] data = Encoding.UTF8.GetBytes(sInputString);

                    DESCryptoServiceProvider DES = new DESCryptoServiceProvider();

                    DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);

                    DES.IV = ASCIIEncoding.ASCII.GetBytes(sIV);

                    ICryptoTransform desencrypt = DES.CreateEncryptor();

                    byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length);

                    return BitConverter.ToString(result);
                }
                catch { }

                return "转换出错!";
            }

    解密

    public static string DecryptString(string sInputString, string sKey, string sIV)
            {
                try
                {
                    string[] sInput = sInputString.Split("-".ToCharArray());

                    byte[] data = new byte[sInput.Length];

                    for (int i = 0; i < sInput.Length; i++)
                    {
                        data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber);
                    }

                    DESCryptoServiceProvider DES = new DESCryptoServiceProvider();

                    DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);

                    DES.IV = ASCIIEncoding.ASCII.GetBytes(sIV);

                    ICryptoTransform desencrypt = DES.CreateDecryptor();

                    byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length);

                    return Encoding.UTF8.GetString(result);
                }
                catch { }

                return "解密出错!";
            }

  • 相关阅读:
    Linux VPS新硬盘分区与挂载教程
    全程图解 手把手教您开启windows终端服务
    解决IE apk变成zip:Android 手机应用程序文件下载服务器Nginx+Tomcat配置解决方法
    Nginx 配置文件详解
    MySQL新建用户,授权,删除用户,修改密码
    解决IE apk变成zip:Android 手机应用程序文件下载服务器 配置解决方法
    CentOS 6.4 32位系统 LAMP(Apache+MySQL+PHP)安装步骤
    yum被锁Another app is currently holding the yum lock; waiting for it to exit...
    CentOS 6.4下编译安装MySQL 5.6.14
    Oracle函数大全
  • 原文地址:https://www.cnblogs.com/net-study/p/3272089.html
Copyright © 2011-2022 走看看