如何解决将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 举报,一经查实,本站将立刻删除。