Пример #1
0
        public static string PrettifyAACSDataKeys(AACSDataKeys?AACSDKResponse)
        {
            if (AACSDKResponse == null)
            {
                return(null);
            }

            AACSDataKeys response = AACSDKResponse.Value;

            StringBuilder sb = new StringBuilder();

            #if DEBUG
            if (response.Reserved1 != 0)
            {
                sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine();
            }
            if (response.Reserved2 != 0)
            {
                sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine();
            }
            #endif
            sb.AppendFormat("AACS Data Keys in hex follows:");
            sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.DataKeys, 80));

            return(sb.ToString());
        }
Пример #2
0
        public static AACSDataKeys? DecodeAACSDataKeys(byte[] AACSDKResponse)
        {
            if(AACSDKResponse == null)
                return null;

            var decoded = new AACSDataKeys();

            decoded.DataKeys = new byte[AACSDKResponse.Length - 4];

            decoded.DataLength = BigEndianBitConverter.ToUInt16(AACSDKResponse, 0);
            decoded.Reserved1  = AACSDKResponse[2];
            decoded.Reserved2  = AACSDKResponse[3];
            Array.Copy(AACSDKResponse, 4, decoded.DataKeys, 0, AACSDKResponse.Length - 4);

            return decoded;
        }