Hca*_*tek 7 c# encryption cryptography padding rijndaelmanaged
如何从解密的字符串中删除填充?我正在使用RijndaelManaged提供程序进行加密和解密.当我解密/0/0/0/0/0/0时,字符串末尾有几个.我的问题是如何优雅地(正确地)从结果字符串中删除字符?
Mor*_*ner 10
您很可能没有使用RijndaelManaged实例的正确填充和阻止模式(在下面的代码中称为提供程序).由于.NET中的对称加密提供程序都是分组密码,因此这些设置会影响填充的工作方式(以及输出的安全性).
使用RijndaelManaged时,以下设置将为您提供最佳安全性:
// set the padding algorithm
provider.Padding = PaddingMode.ISO10126; // default is PKCS7
// set the block chaining mode
provider.Mode = CipherMode.CBC;
Run Code Online (Sandbox Code Playgroud)
如果您不是加密数据的那个,并且您无法确定发起方使用的设置,那么您将在其他一些答案中找到帮助:)
通过这样使用TrimEnd():
theString.TrimEnd("/0");
Run Code Online (Sandbox Code Playgroud)