将C#加密代码转换为邮递员测试脚本

问题描述

我将介绍这种情况: 我有一个api,它将从进行加密的系统A 接收加密的令牌。然后该api将其解密并使用值。 一切正常。我要实现的是我正在用邮递员编写测试,因此邮递员实际上是在替换系统A 。拥有如此众多的加密库和加密方式,它很难模仿邮递员中的加密。我尝试过,但是我什至没有接近结果。我希望有经验的人会发现,比我更容易将加密从C#转换为javascipt(邮递员)。

    public static String Encrypt(String plainText,String passphrase)
    {
        var plainBytes = Encoding.UTF8.GetBytes(plainText);
        var encryptor = CreateSymmetricAlgorithm(passphrase).CreateEncryptor();
        var encryptedBytes = encryptor.TransformFinalBlock(plainBytes,plainBytes.Length);
        var encryptedText = Convert.ToBase64String(encryptedBytes);
        return encryptedText;
    }

    private static AesManaged CreateSymmetricAlgorithm(string passphrase)
    {
        var salt = passphrase.Substring(3,33);
        var password = passphrase.Substring(44,42);

        //// Initializes a new instance of the Rfc2898DeriveBytes class using a password and salt to derive the key.
        //// Implements password-based key derivation functionality,PBKDF2,by using a pseudo-random number generator based on HMACSHA1.
        var rfc2898 = new Rfc2898DeriveBytes(password,Encoding.UTF8.GetBytes(salt),1024);
        var algorithm = new AesManaged();

        var key = rfc2898.GetBytes(algorithm.BlockSize / 8);
        var iv = rfc2898.GetBytes(algorithm.BlockSize / 8);
        algorithm.Key = key;
        algorithm.IV = iv;
        algorithm.Padding = PaddingMode.PKCS7;
        algorithm.Mode = CipherMode.CBC;

        return algorithm;
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)