zoukankan      html  css  js  c++  java
  • 用下面这种方式解密的数据,能不能得到它的加密方式?

            static string Password = "XXXXX";

            
    public static string Decrypt(string source)
            {
                
    string s;

                
    if (String.IsNullOrEmpty(source))
                    
    throw new ArgumentException("No data given");
                
    byte[] inputData = Convert.FromBase64String(source);
                
    if (inputData.Length < 8)
                    
    throw new ArgumentException("Invalid input data");

                
    byte[] salt = new byte[8];
                
    for (int i = 0; i < salt.Length; i++)
                {
                    salt[i] 
    = inputData[i];
                }

                Rfc2898DeriveBytes rfc2898DeriveBytes 
    = new Rfc2898DeriveBytes(Password, salt);
                Rijndael rijndael 
    = Rijndael.Create();
                rijndael.Padding 
    = PaddingMode.ISO10126;
                rijndael.IV 
    = rfc2898DeriveBytes.GetBytes(rijndael.BlockSize / 8);
                rijndael.Key 
    = rfc2898DeriveBytes.GetBytes(rijndael.KeySize / 8);
                
    using (MemoryStream memoryStream = new MemoryStream())
                
    using (
                    CryptoStream cryptoStream 
    =
                        
    new CryptoStream(memoryStream, rijndael.CreateDecryptor(), CryptoStreamMode.Write))
                {
                    cryptoStream.Write(inputData, 
    8, inputData.Length - 8);
                    cryptoStream.Close();
                    
    byte[] bytes = memoryStream.ToArray();
                    s 
    = Encoding.Unicode.GetString(bytes);
                }
                
    return s;
            }
    对加密解密这块不熟,请有经验的朋友解答,谢谢。
    如果需要,我有几个样例数据与加密后的结果。
  • 相关阅读:
    jQuery$命名冲突问题解决方法
    微信小程序开发工具 ubuntu linux版本
    阿里云Https通配符证书购买
    vs2017安装
    规范与标准
    Jvm远程监控
    Bash笔记
    Html5前端笔记
    Php7 开发笔记
    webpack笔记
  • 原文地址:https://www.cnblogs.com/deerchao/p/736718.html
Copyright © 2011-2022 走看看