• DES数据解密


            /// <summary>
            /// DES数据解密
            /// </summary>
            /// <param name="targetValue"></param>
            /// <param name="key"></param>
            /// <returns></returns>
            public static string Decrypt(string targetValue, string key = "test")
            {
                if (string.IsNullOrEmpty(targetValue))
                {
                    return string.Empty;
                }
                // 定义DES加密对象
                try
                {
                    var des = new DESCryptoServiceProvider();
                    int len = targetValue.Length / 2;
                    var inputByteArray = new byte[len];
                    int x, i;
                    for (x = 0; x < len; x++)
                    {
                        i = Convert.ToInt32(targetValue.Substring(x * 2, 2), 16);
                        inputByteArray[x] = (byte)i;
                    }
                    // 通过两次哈希密码设置对称算法的初始化向量   
                    des.Key = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile
                                                          (FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5").
                                                               Substring(0, 8), "sha1").Substring(0, 8));
                    // 通过两次哈希密码设置算法的机密密钥   
                    des.IV = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile
                                                         (FormsAuthentication.HashPasswordForStoringInConfigFile(key, "md5")
                                                              .Substring(0, 8), "md5").Substring(0, 8));
                    // 定义内存流
                    var ms = new MemoryStream();
                    // 定义加密流
                    var cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
                    cs.Write(inputByteArray, 0, inputByteArray.Length);
                    cs.FlushFinalBlock();
                    return Encoding.Default.GetString(ms.ToArray());
                }
                catch
                {
                }
                return string.Empty;
            }
    

      

  • 相关阅读:
    java大文件(视频)上传源代码
    java大文件(视频)上传源码
    java大文件(视频)上传插件
    java大文件(视频)上传控件
    java大文件(视频)上传组件
    jsp大文件(视频)切割上传
    jsp大文件(视频)切片上传
    jsp大文件(视频)分段上传
    jsp大文件(视频)分块上传
    ckeditor粘贴word文档图片的解决方案
  • 原文地址:https://www.cnblogs.com/wohexiaocai/p/7050002.html
Copyright © 2020-2023  润新知