C#PKCS#7在字符串中添加适当填充的问题

时间:2018-10-27 13:38:37

标签: c# aes pkcs#7

在为填充为PKCS#7进行加密之前,我很难弄清楚应该用什么字符串填充。据我所知,每个填充块的值应等于填充块的数量。

但是,当我尝试在C#中执行此操作时,此公式将不起作用。在下面的示例中,数据byte []有10个元素,需要6个填充,但是除非您使用7作为每个填充块的值,否则不会正确剥离填充。

但是,如果我将数据中的内容扩展到14个字节(因此需要填充两个字节),则每个块都需要将值设置为0才能正确删除填充。

这样,有人可以告诉我我是否正确实现了这些功能,或者我是否误解了应如何实现填充功能。

我包括以下功能:

    /// <summary>
    /// Invoked when application execution is being suspended.  Application state is saved
    /// without knowing whether the application will be terminated or resumed with the contents
    /// of memory still intact.
    /// </summary>
    /// <param name="sender">The source of the suspend request.</param>
    /// <param name="e">Details about the suspend request.</param>

    private async void OnSuspending(object sender, SuspendingEventArgs e)
    {
        var deferral = e.SuspendingOperation.GetDeferral();
        //TODO: Save application state and stop any background activity

        deferral.Complete();
    }

0 个答案:

没有答案