2

AES 256 を使用して、プレーン テキストを暗号化/復号化しています。しかし、アルゴリズムはパディングに PKCS7 のみを使用しますが、他のプラットフォームと互換性を持たせるには PKCS5 を使用する必要があります。どうすればこれを達成できますか?

私のソースコードは次のとおりです。

public string Encrypt(byte[] PlainTextBytes, byte[] KeyBytes, string InitialVector)
{
    byte[] InitialVectorBytes = Encoding.UTF8.GetBytes(InitialVector);
    RijndaelManaged SymmetricKey = new RijndaelManaged();
    SymmetricKey.Mode = CipherMode.CBC;
    SymmetricKey.Padding = PaddingMode.PKCS7;
    ICryptoTransform Encryptor = SymmetricKey.CreateEncryptor(KeyBytes, InitialVectorBytes);
    MemoryStream MemStream = new MemoryStream();
    CryptoStream CryptoStream = new CryptoStream(MemStream, Encryptor, CryptoStreamMode.Write);
    CryptoStream.Write(PlainTextBytes, 0, PlainTextBytes.Length);
    CryptoStream.FlushFinalBlock();
    byte[] CipherTextBytes = MemStream.ToArray();
    MemStream.Close();
    CryptoStream.Close();
    return ByteToHexConversion(CipherTextBytes);
}
4

1 に答える 1

4

PKCS#5-padding と PKCS#7-padding は、同じアルゴリズムの別の名前です。PKCS パディングまたは RFC3852 パディングと呼ばれることもあります。

于 2009-06-29T10:58:53.397 に答える