我写了这个扩展方法,但我只有一个参数。
我的 C# 代码:
public static string ToEncrypt(this string key, string passWord)
{
// Salt and IV is randomly generated each time, but is prepended to encrypted cipher text
// so that the same Salt and IV values can be used when decrypting.
var saltStringBytes = Generate256BitsOfRandomEntropy();
var ivStringBytes = Generate256BitsOfRandomEntropy();
var plainTextBytes = Encoding.UTF8.GetBytes(key);
using (var password = new Rfc2898DeriveBytes(passWord, saltStringBytes, DerivationIterations))
{
var keyBytes = password.GetBytes(Keysize / 8);
using (var symmetricKey = new RijndaelManaged())
{
symmetricKey.BlockSize = 256; …Run Code Online (Sandbox Code Playgroud)