コード例 #1
0
        public FormsAuthenticationTicket Decrypt(string formsAuthCredential)
        {
            var derivedEncryptionKey = _purpose.GetDerivedEncryptionKey(_masterKeyProvider, SP800_108.DeriveKey);
            var derivedValidationKey = _purpose.GetDerivedValidationKey(_masterKeyProvider, SP800_108.DeriveKey);

            var cryptoService = new NetFXCryptoService(_cryptoAlgorithmFactory, derivedEncryptionKey, derivedValidationKey);

            SerializedTicket = cryptoService.Unprotect(CryptoUtil.HexToBinary(formsAuthCredential));

            return(FormsAuthenticationTicketSerializer.Deserialize(SerializedTicket, SerializedTicket.Length));
        }