Torna al Thread

public static string Decrypt(string strInputString, string strKeyString, string myIV) { if ((strInputString == null) || (strInputString.Length == 0)) { return strInputString; } try { int num5; int keySize = 0x100; int blockSize = 0x100; int length = keySize / 0x10; if (strKeyString.Length > length) { strKeyString = strKeyString.Substring(0, length); } if (strKeyString.Length < length) { strKeyString = strKeyString.PadRight(length, '#'); } Encoding.Unicode.GetBytes(strKeyString); if (myIV.Length > length) { myIV = myIV.Substring(0, length); } if (myIV.Length < length) { myIV = myIV.PadRight(length, '#'); } Encoding.Unicode.GetBytes(myIV); byte[] bytes = Encoding.Unicode.GetBytes(strKeyString); byte[] rgbIV = Encoding.Unicode.GetBytes(myIV); RijndaelManaged managed = new RijndaelManaged { BlockSize = blockSize, KeySize = keySize }; MemoryStream stream = new MemoryStream(); for (int i = 0; i < strInputString.Length; i += 2) { stream.WriteByte(byte.Parse(strInputString.Substring(i, 2), NumberStyles.AllowHexSpecifier)); } stream.Position = 0L; MemoryStream stream2 = new MemoryStream(); CryptoStream stream3 = new CryptoStream(stream, managed.CreateDecryptor(bytes, rgbIV), CryptoStreamMode.Read); while ((num5 = stream3.ReadByte()) != -1) { stream2.WriteByte((byte) num5); } stream3.Close(); stream2.Close(); stream.Close(); byte[] buffer3 = stream2.ToArray(); return Encoding.Unicode.GetString(buffer3); } catch (Exception exception) { Log.Error(exception.Message); } }
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5