在C#中,如何添加数据填充?

在C#中,如何添加数据填充?,c#,arrays,byte,padding,C#,Arrays,Byte,Padding,有时需要将数据(字节流)填充到离散的块大小。例如,ProtectedMemory只能对16字节倍数的数据块进行操作。我知道其他一些类,如ProtectedData、AESCryptServiceProvider和AESManaged,都内置了对填充的支持,但对于那些没有内置填充的类。。。如何为ProtectedMemory填充数据 当然,我可以自己编写,遵守ANSIX923或ISO10126或PKCS7等标准,但必须有一个好方法让.Net做到这一点。我本以为该功能是流或MemoryStream的

有时需要将数据(字节流)填充到离散的块大小。例如,ProtectedMemory只能对16字节倍数的数据块进行操作。我知道其他一些类,如ProtectedData、AESCryptServiceProvider和AESManaged,都内置了对填充的支持,但对于那些没有内置填充的类。。。如何为ProtectedMemory填充数据


当然,我可以自己编写,遵守ANSIX923或ISO10126或PKCS7等标准,但必须有一个好方法让.Net做到这一点。我本以为该功能是流或MemoryStream的一部分。。。除了在专门的加密类中,我在任何地方都找不到它。

使用ProtectedMemory存储16或32字节的加密密钥,然后使用AESManaged或AESMcryptoServiceProvider保护并使用填充存储数据。或者使用ProtectedMemory存储16或32字节的optionalEntropy,然后使用ProtectedData保护并使用填充存储数据