📄 stringdecryptor.cs
字号:
using System.Security.Cryptography;
using System.IO;
namespace GTT
{
public class StringDecryptor : StringCrypto
{
/// <remarks>
/// 使用.Net SymmetricAlgorithm 类的构造器.
/// </remarks>
public StringDecryptor(SymmProvEnum netSelected)
: base(netSelected)
{
}
/// <remarks>
/// 使用自定义SymmetricAlgorithm类的构造器.
/// </remarks>
public StringDecryptor(SymmetricAlgorithm ServiceProvider)
: base(ServiceProvider)
{
}
public override string Execute(string source)
{
// convert from Base64 to binary
byte[] bytIn = System.Convert.FromBase64String(source);
CryptoStream cs = Decrypting(bytIn);
// read out the result from the Crypto Stream
System.IO.StreamReader sr = new System.IO.StreamReader(cs);
return sr.ReadToEnd();
}
private CryptoStream Decrypting(byte[] source)
{
// create a MemoryStream with the input
System.IO.MemoryStream ms = new System.IO.MemoryStream(source, 0, source.Length);
byte[] bytKey = GetLegalKey(Key);
// set the private key
_mobjCryptoService.Key = bytKey;
_mobjCryptoService.IV = bytKey;
// create a Decryptor from the Provider Service instance
ICryptoTransform encrypto = _mobjCryptoService.CreateDecryptor();
// create Crypto Stream that transforms a stream using the decryption
return new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -