iTextSharp.text.pdf.PdfEncryption.SetHashKey C# (CSharp) Метод

SetHashKey() публичный Метод

public SetHashKey ( int number, int generation ) : void
number int
generation int
Результат void
        public void SetHashKey(int number, int generation)
        {
            if (revision == AES_256)
            return;
            md5.Reset();    //added by ujihara
            extra[0] = (byte)number;
            extra[1] = (byte)(number >> 8);
            extra[2] = (byte)(number >> 16);
            extra[3] = (byte)generation;
            extra[4] = (byte)(generation >> 8);
            md5.BlockUpdate(mkey, 0, mkey.Length);
            md5.BlockUpdate(extra, 0, extra.Length);
            if (revision == AES_128)
            md5.BlockUpdate(salt, 0, salt.Length);
            key = new byte[md5.GetDigestSize()];
            md5.DoFinal(key, 0);
            md5.Reset();
            keySize = mkey.Length + 5;
            if (keySize > 16)
            keySize = 16;
        }

Usage Example

Пример #1
0
        internal void Decrypt(PdfReader reader)
        {
            PdfEncryption decrypt = reader.Decrypt;

            if (decrypt != null)
            {
                OriginalValue = Value;
                decrypt.SetHashKey(ObjNum, ObjGen);
                Bytes = PdfEncodings.ConvertToBytes(Value, null);
                Bytes = decrypt.DecryptByteArray(Bytes);
                Value = PdfEncodings.ConvertToString(Bytes, null);
            }
        }
All Usage Examples Of iTextSharp.text.pdf.PdfEncryption::SetHashKey