Espressioni di criteri di Gestione APIAPI Management policy expressions

Questo articolo illustra la sintassi delle espressioni di criteri, che è C# 7.This article discusses policy expressions syntax is C# 7. Ogni espressione ha accesso alla variabile context fornita implicitamente e a un subset autorizzato di tipi di .NET Framework.Each expression has access to the implicitly provided context variable and an allowed subset of .NET Framework types.

Per altre informazioni:For more information:

  • Vedere la procedura per fornire informazioni di contesto al servizio back-end.See how to supply context information to your backend service. Per fornire queste informazioni, usare i criteri per l'impostazione del parametro di stringa di query e l'impostazione dell'intestazione HTTP.Use the Set query string parameter and Set HTTP header policies to supply this information.
  • Vedere la procedura per usare i criteri di convalida JWT per preautorizzare l'accesso alle operazioni in base alle attestazioni dei token.See how to use the Validate JWT policy to pre-authorize access to operations based on token claims.
  • Vedere la procedura per usare una traccia di API Inspector (Controllo API) per visualizzare il modo in cui i criteri vengono valutati e i risultati delle valutazioni.See how to use an API Inspector trace to see how policies are evaluated and the results of those evaluations.
  • Vedere la procedura per usare le espressioni con i criteri di recupero dalla cache e di archiviazione nella cache per configurare la memorizzazione delle risposte nella cache di Gestione API.See how to use expressions with the Get from cache and Store to cache policies to configure API Management response caching. Impostare la durata corrispondente alla memorizzazione delle risposte nella cache del servizio back-end, come specificato dalla direttiva Cache-Control del servizio.Set a duration that matches the response caching of the backend service as specified by the backed service's Cache-Control directive.
  • Vedere la procedura per eseguire operazioni di filtro dei contenuti.See how to perform content filtering. Rimuovere elementi dati dalla risposta ricevuta dal servizio back-end usando i criteri di controllo del flusso e impostazione del corpo.Remove data elements from the response received from the backend using the Control flow and Set body policies.
  • Per scaricare le istruzioni dei criteri, vedere il repository di github api-management-samples/policies.To download the policy statements, see the api-management-samples/policies github repo.

SintassiSyntax

Le espressioni a istruzione singola sono racchiuse tra @(expression), dove expression è un'istruzione di espressione C# ben formata.Single statement expressions are enclosed in @(expression), where expression is a well-formed C# expression statement.

Le espressioni a più istruzioni sono racchiuse tra @{expression}.Multi-statement expressions are enclosed in @{expression}. Tutti i percorsi di codice all'interno di espressioni a più istruzioni devono terminare con un'istruzione return.All code paths within multi-statement expressions must end with a return statement.

EsempiExamples

@(true)  

@((1+1).ToString())  

@("Hi There".Length)  

@(Regex.Match(context.Response.Headers.GetValueOrDefault("Cache-Control",""), @"max-age=(?<maxAge>\d+)").Groups["maxAge"]?.Value)  

@(context.Variables.ContainsKey("maxAge") ? int.Parse((string)context.Variables["maxAge"]) : 3600)  

@{   
  string value;   
  if (context.Request.Headers.TryGetValue("Authorization", out value))   
  {   
    return Encoding.UTF8.GetString(Convert.FromBase64String(value));  
  }   
  else   
  {   
    return null;  
  }  
}  

UsoUsage

Le espressioni possono essere usate come valori di attributo o valori di testo in tutti i criteri di Gestione API, salvo diversamente specificato nella documentazione di riferimento.Expressions can be used as attribute values or text values in any API Management policies (unless the policy reference specifies otherwise).

Importante

Quando si usano le espressioni di criteri, è prevista solo una verifica limitata di tali espressioni al momento della definizione dei criteri.When you use policy expressions, there is only limited verification of the policy expressions when the policy is defined. Le espressioni vengono eseguite dal gateway in fase di esecuzione e le eccezioni generate determinano un errore di runtime.Expressions are executed by the gateway at run-time, any exceptions generated by policy expressions result in a runtime error.

Tipi di .NET Framework consentiti nelle espressioni di criteri.NET Framework types allowed in policy expressions

Nella tabella seguente sono elencati i tipi di .NET Framework e i relativi membri consentiti nelle espressioni di criteri.The following table lists the .NET Framework types and their members that are allowed in policy expressions.

Tipo CLRCLR type Metodi supportatiSupported methods
Newtonsoft.Json.Linq.ExtensionsNewtonsoft.Json.Linq.Extensions Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JArrayNewtonsoft.Json.Linq.JArray Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JConstructorNewtonsoft.Json.Linq.JConstructor Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JContainerNewtonsoft.Json.Linq.JContainer Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JObjectNewtonsoft.Json.Linq.JObject Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JPropertyNewtonsoft.Json.Linq.JProperty Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JRawNewtonsoft.Json.Linq.JRaw Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JTokenNewtonsoft.Json.Linq.JToken Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JTokenTypeNewtonsoft.Json.Linq.JTokenType Tutti i metodi sono supportatiAll methods are supported
Newtonsoft.Json.Linq.JValueNewtonsoft.Json.Linq.JValue Tutti i metodi sono supportatiAll methods are supported
System.Collections.Generic.IReadOnlyCollection<T>System.Collections.Generic.IReadOnlyCollection<T> TuttiAll
System.Collections.Generic.IReadOnlyDictionary<TKey, TValue>System.Collections.Generic.IReadOnlyDictionary<TKey, TValue> TuttiAll
System.Collections.Generic.ISet<TKey, TValue>System.Collections.Generic.ISet<TKey, TValue> TuttiAll
System.Collections.Generic.KeyValuePair<TKey, TValue>System.Collections.Generic.KeyValuePair<TKey, TValue> Chiave, valoreKey, Value
System.Collections.Generic.List<TKey, TValue>System.Collections.Generic.List<TKey, TValue> TuttiAll
System.Collections.Generic.Queue<TKey, TValue>System.Collections.Generic.Queue<TKey, TValue> TuttiAll
System.Collections.Generic.Stack<TKey, TValue>System.Collections.Generic.Stack<TKey, TValue> TuttiAll
System.ConvertSystem.Convert TuttiAll
System.DateTimeSystem.DateTime TuttiAll
System.DateTimeKindSystem.DateTimeKind UTCUtc
System.DateTimeOffsetSystem.DateTimeOffset TuttiAll
System.DecimalSystem.Decimal TuttiAll
System.DoubleSystem.Double TuttiAll
System.GuidSystem.Guid TuttiAll
System.IEnumerable<T>System.IEnumerable<T> TuttiAll
System.IEnumerator<T>System.IEnumerator<T> TuttiAll
System.Int16System.Int16 TuttiAll
System.Int32System.Int32 TuttiAll
System.Int64System.Int64 TuttiAll
System.Linq.Enumerable<T>System.Linq.Enumerable<T> Tutti i metodi sono supportatiAll methods are supported
System.MathSystem.Math TuttiAll
System.MidpointRoundingSystem.MidpointRounding TuttiAll
System.Nullable<T>System.Nullable<T> TuttiAll
System.RandomSystem.Random TuttiAll
System.SByteSystem.SByte TuttiAll
System.Security.Cryptography.System.Security.Cryptography. HMACSHA384HMACSHA384 TuttiAll
System.Security.Cryptography.System.Security.Cryptography. HMACSHA512HMACSHA512 TuttiAll
System.Security.Cryptography.HashAlgorithmSystem.Security.Cryptography.HashAlgorithm TuttiAll
System.Security.Cryptography.HMACSystem.Security.Cryptography.HMAC TuttiAll
System.Security.Cryptography.HMACMD5System.Security.Cryptography.HMACMD5 TuttiAll
System.Security.Cryptography.HMACSHA1System.Security.Cryptography.HMACSHA1 TuttiAll
System.Security.Cryptography.HMACSHA256System.Security.Cryptography.HMACSHA256 TuttiAll
System.Security.Cryptography.KeyedHashAlgorithmSystem.Security.Cryptography.KeyedHashAlgorithm TuttiAll
System.Security.Cryptography.MD5System.Security.Cryptography.MD5 TuttiAll
System.Security.Cryptography.RNGCryptoServiceProviderSystem.Security.Cryptography.RNGCryptoServiceProvider TuttiAll
System.Security.Cryptography.SHA1System.Security.Cryptography.SHA1 TuttiAll
System.Security.Cryptography.SHA1ManagedSystem.Security.Cryptography.SHA1Managed TuttiAll
System.Security.Cryptography.SHA256System.Security.Cryptography.SHA256 TuttiAll
System.Security.Cryptography.SHA256ManagedSystem.Security.Cryptography.SHA256Managed TuttiAll
System.Security.Cryptography.SHA384System.Security.Cryptography.SHA384 TuttiAll
System.Security.Cryptography.SHA384ManagedSystem.Security.Cryptography.SHA384Managed TuttiAll
System.Security.Cryptography.SHA512System.Security.Cryptography.SHA512 TuttiAll
System.Security.Cryptography.SHA512ManagedSystem.Security.Cryptography.SHA512Managed TuttiAll
System.SingleSystem.Single TuttiAll
System.StringSystem.String TuttiAll
System.StringSplitOptionsSystem.StringSplitOptions TuttiAll
System.Text.EncodingSystem.Text.Encoding TuttiAll
System.Text.RegularExpressions.CaptureSystem.Text.RegularExpressions.Capture Indice, lunghezza, valoreIndex, Length, Value
System.Text.RegularExpressions.CaptureCollectionSystem.Text.RegularExpressions.CaptureCollection Conteggio, elementoCount, Item
System.Text.RegularExpressions.GroupSystem.Text.RegularExpressions.Group Acquisizioni, esito positivoCaptures, Success
System.Text.RegularExpressions.GroupCollectionSystem.Text.RegularExpressions.GroupCollection Conteggio, elementoCount, Item
System.Text.RegularExpressions.MatchSystem.Text.RegularExpressions.Match Empty, Groups, ResultEmpty, Groups, Result
System.Text.RegularExpressions.RegexSystem.Text.RegularExpressions.Regex (Constructor),IsMatch, Match, Matches, Replace(Constructor),IsMatch, Match, Matches, Replace
System.Text.RegularExpressions.RegexOptionsSystem.Text.RegularExpressions.RegexOptions Compiled, IgnoreCase, IgnorePatternWhitespace, Multiline, None, RightToLeft, SinglelineCompiled, IgnoreCase, IgnorePatternWhitespace, Multiline, None, RightToLeft, Singleline
System.TimeSpanSystem.TimeSpan TuttiAll
System.TupleSystem.Tuple TuttiAll
System.UInt16System.UInt16 TuttiAll
System.UInt32System.UInt32 TuttiAll
System.UInt64System.UInt64 TuttiAll
System.UriSystem.Uri TuttiAll
System.Xml.Linq.ExtensionsSystem.Xml.Linq.Extensions Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XAttributeSystem.Xml.Linq.XAttribute Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XCDataSystem.Xml.Linq.XCData Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XCommentSystem.Xml.Linq.XComment Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XContainerSystem.Xml.Linq.XContainer Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XDeclarationSystem.Xml.Linq.XDeclaration Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XDocumentSystem.Xml.Linq.XDocument Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XDocumentTypeSystem.Xml.Linq.XDocumentType Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XElementSystem.Xml.Linq.XElement Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XNameSystem.Xml.Linq.XName Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XNamespaceSystem.Xml.Linq.XNamespace Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XNodeSystem.Xml.Linq.XNode Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XNodeDocumentOrderComparerSystem.Xml.Linq.XNodeDocumentOrderComparer Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XNodeEqualityComparerSystem.Xml.Linq.XNodeEqualityComparer Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XObjectSystem.Xml.Linq.XObject Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XProcessingInstructionSystem.Xml.Linq.XProcessingInstruction Tutti i metodi sono supportatiAll methods are supported
System.Xml.Linq.XTextSystem.Xml.Linq.XText Tutti i metodi sono supportatiAll methods are supported
System.Xml.XmlNodeTypeSystem.Xml.XmlNodeType TuttiAll

Variabile di contestoContext variable

Una variabile denominata context è disponibile in modo implicito in ogni espressione di criteri.A variable named context is implicitly available in every policy expression. I suoi membri forniscono informazioni riguardanti \request.Its members provide information pertinent to the \request. Tutti i membri di context sono di sola lettura.All of the context members are read-only.

Variabile di contestoContext Variable Metodi, proprietà e valori di parametro consentitiAllowed methods, properties, and parameter values
contextcontext Api: IApiApi: IApi

DistribuzioneDeployment

Elapsed: TimeSpan - intervallo di tempo tra il valore di Timestamp e l'ora correnteElapsed: TimeSpan - time interval between the value of Timestamp and current time

LastErrorLastError

OperazioneOperation

ProdottoProduct

RichiestaRequest

RequestId: Guid - identificatore univoco della richiestaRequestId: Guid - unique request identifier

RispostaResponse

SottoscrizioneSubscription

Timestamp: DateTime - momento di ricezione della richiestaTimestamp: DateTime - point in time when request was received

Tracing: bool - indica se la funzionalità di traccia è attiva o disattivaTracing: bool - indicates if tracing is on or off

UtenteUser

Variables: IReadOnlyDictionary<string, object>Variables: IReadOnlyDictionary<string, object>

void Trace(message: string)void Trace(message: string)
context.Apicontext.Api Id: stringId: string

IsCurrentRevision: boolIsCurrentRevision: bool

Name: stringName: string

Path: stringPath: string

Revision: stringRevision: string

ServiceUrl: IUrlServiceUrl: IUrl

Version: stringVersion: string
context.Deploymentcontext.Deployment Region: stringRegion: string

ServiceName: stringServiceName: string

Certificati: IReadOnlyDictionary<string, X509Certificate2>Certificates: IReadOnlyDictionary<string, X509Certificate2>
context.LastErrorcontext.LastError Source: stringSource: string

Reason: stringReason: string

Message: stringMessage: string

Scope: stringScope: string

Section: stringSection: string

Path: stringPath: string

PolicyId: stringPolicyId: string

Per ulteriori informazioni su context.LastError, vedere Gestione degli errori.For more information about context.LastError, see Error handling.
context.Operationcontext.Operation Id: stringId: string

Method: stringMethod: string

Name: stringName: string

UrlTemplate: stringUrlTemplate: string
context.Productcontext.Product Apis: IEnumerable<IApi>Apis: IEnumerable<IApi>

ApprovalRequired: boolApprovalRequired: bool

Groups: IEnumerable<IGroup>Groups: IEnumerable<IGroup>

Id: stringId: string

Name: stringName: string

State: enum ProductState {NotPublished, Published}State: enum ProductState {NotPublished, Published}

SubscriptionLimit: int?SubscriptionLimit: int?

SubscriptionRequired: boolSubscriptionRequired: bool
context.Requestcontext.Request Body: IMessageBodyBody: IMessageBody

Certificate: System.Security.Cryptography.X509Certificates.X509Certificate2Certificate: System.Security.Cryptography.X509Certificates.X509Certificate2

Headers: IReadOnlyDictionary<string, string[]>Headers: IReadOnlyDictionary<string, string[]>

IpAddress: stringIpAddress: string

MatchedParameters: IReadOnlyDictionary<string, string>MatchedParameters: IReadOnlyDictionary<string, string>

Method: stringMethod: string

OriginalUrl:IUrlOriginalUrl:IUrl

Url: IUrlUrl: IUrl
string context.Request.Headers.GetValueOrDefault(headerName: string, defaultValue: string)string context.Request.Headers.GetValueOrDefault(headerName: string, defaultValue: string) headerName: stringheaderName: string

defaultValue: stringdefaultValue: string

Restituisce valori di intestazione di richiesta separati da virgole oppure defaultValue se non viene trovata l'intestazione.Returns comma-separated request header values or defaultValue if the header is not found.
context.Responsecontext.Response Body: IMessageBodyBody: IMessageBody

Headers: IReadOnlyDictionary<string, string[]>Headers: IReadOnlyDictionary<string, string[]>

StatusCode: intStatusCode: int

StatusReason: stringStatusReason: string
string context.Response.Headers.GetValueOrDefault(headerName: string, defaultValue: string)string context.Response.Headers.GetValueOrDefault(headerName: string, defaultValue: string) headerName: stringheaderName: string

defaultValue: stringdefaultValue: string

Restituisce valori di intestazione di risposta separati da virgole oppure defaultValue se non viene trovata l'intestazione.Returns comma-separated response header values or defaultValue if the header is not found.
context.Subscriptioncontext.Subscription CreatedTime: DateTimeCreatedTime: DateTime

EndDate: DateTime?EndDate: DateTime?

Id: stringId: string

Key: stringKey: string

Name: stringName: string

PrimaryKey: stringPrimaryKey: string

SecondaryKey: stringSecondaryKey: string

StartDate: DateTime?StartDate: DateTime?
context.Usercontext.User Email: stringEmail: string

FirstName: stringFirstName: string

Groups: IEnumerable<IGroup>Groups: IEnumerable<IGroup>

Id: stringId: string

Identities: IEnumerable<IUserIdentity>Identities: IEnumerable<IUserIdentity>

LastName: stringLastName: string

Note: stringNote: string

RegistrationDate: DateTimeRegistrationDate: DateTime
IApiIApi Id: stringId: string

Name: stringName: string

Path: stringPath: string

Protocols: IEnumerable<string>Protocols: IEnumerable<string>

ServiceUrl: IUrlServiceUrl: IUrl

SubscriptionKeyParameterNames: ISubscriptionKeyParameterNamesSubscriptionKeyParameterNames: ISubscriptionKeyParameterNames
IGroupIGroup Id: stringId: string

Name: stringName: string
IMessageBodyIMessageBody As<T>(preserveContent: bool = false): Where T: string, JObject, JToken, JArray, XNode, XElement, XDocumentAs<T>(preserveContent: bool = false): Where T: string, JObject, JToken, JArray, XNode, XElement, XDocument

I metodi context.Request.Body.As<T> e context.Response.Body.As<T> vengono usati per leggere il corpo dei messaggi di richiesta e di risposta in un tipo T specificato.The context.Request.Body.As<T> and context.Response.Body.As<T> methods are used to read a request and response message bodies in a specified type T. Per impostazione predefinita, il metodo usa il flusso del corpo del messaggio originale e lo rende non disponibile dopo aver restituito un valore.By default the method uses the original message body stream and renders it unavailable after it returns. Per evitarlo, far sì che il metodo venga eseguito su una copia del flusso del corpo impostando il parametro preserveContent su true.To avoid that by having the method operate on a copy of the body stream, set the preserveContent parameter to true. Per un esempio, vedere qui.Go here to see an example.
IUrlIUrl Host: stringHost: string

Path: stringPath: string

Port: intPort: int

Query: IReadOnlyDictionary<string, string[]>Query: IReadOnlyDictionary<string, string[]>

QueryString: stringQueryString: string

Scheme: stringScheme: string
IUserIdentityIUserIdentity Id: stringId: string

Provider: stringProvider: string
ISubscriptionKeyParameterNamesISubscriptionKeyParameterNames Header: stringHeader: string

Query: stringQuery: string
string IUrl.Query.GetValueOrDefault(queryParameterName: string, defaultValue: string)string IUrl.Query.GetValueOrDefault(queryParameterName: string, defaultValue: string) queryParameterName: stringqueryParameterName: string

defaultValue: stringdefaultValue: string

Restituisce valori di parametro separati da virgole oppure defaultValue se il parametro non viene trovato.Returns comma-separated query parameter values or defaultValue if the parameter is not found.
T context.Variables.GetValueOrDefault<T>(variableName: string, defaultValue: T)T context.Variables.GetValueOrDefault<T>(variableName: string, defaultValue: T) variableName: stringvariableName: string

defaultValue: TdefaultValue: T

Restituisce il valore della variabile nel tipo T oppure defaultValue se la variabile non viene trovata.Returns variable value cast to type T or defaultValue if the variable is not found.

Questo metodo genera un'eccezione se il tipo specificato non corrisponde al tipo effettivo della variabile restituita.This method throws an exception if the specified type does not match the actual type of the returned variable.
BasicAuthCredentials AsBasic(input: this string)BasicAuthCredentials AsBasic(input: this string) input: stringinput: string

Se il parametro di input contiene un valore di intestazione di richiesta di autorizzazione Autenticazione HTTP di base valido, il metodo restituisce un oggetto di tipo BasicAuthCredentials; in caso contrario restituisce un valore null.If the input parameter contains a valid HTTP Basic Authentication authorization request header value, the method returns an object of type BasicAuthCredentials; otherwise the method returns null.
bool TryParseBasic(input: this string, result: out BasicAuthCredentials)bool TryParseBasic(input: this string, result: out BasicAuthCredentials) input: stringinput: string

result: out BasicAuthCredentialsresult: out BasicAuthCredentials

Se il parametro di input contiene un valore di autorizzazione Autenticazione HTTP di base valido nell'intestazione della richiesta, il metodo restituisce true e il parametro risultante contiene un valore di tipo BasicAuthCredentials; in caso contrario, il metodo restituisce false.If the input parameter contains a valid HTTP Basic Authentication authorization value in the request header the method returns true and the result parameter contains a value of type BasicAuthCredentials; otherwise the method returns false.
BasicAuthCredentialsBasicAuthCredentials Password: stringPassword: string

UserId: stringUserId: string
Jwt AsJwt(input: this string)Jwt AsJwt(input: this string) input: stringinput: string

Se il parametro di input contiene un valore di token JWT valido, il metodo restituisce un oggetto di tipo Jwt; in caso contrario restituisce null.If the input parameter contains a valid JWT token value, the method returns an object of type Jwt; otherwise the method returns null.
bool TryParseJwt(input: this string, result: out Jwt)bool TryParseJwt(input: this string, result: out Jwt) input: stringinput: string

result: out Jwtresult: out Jwt

Se il parametro di input contiene un valore di token JWT valido, il metodo restituisce true e il parametro del risultato contiene un valore di tipo Jwt; in caso contrario il metodo restituisce false.If the input parameter contains a valid JWT token value, the method returns true and the result parameter contains a value of type Jwt; otherwise the method returns false.
JwtJwt Algorithm: stringAlgorithm: string

Audience: IEnumerable<string>Audience: IEnumerable<string>

Claims: IReadOnlyDictionary<string, string[]>Claims: IReadOnlyDictionary<string, string[]>

ExpirationTime: DateTime?ExpirationTime: DateTime?

Id: stringId: string

Issuer: stringIssuer: string

NotBefore: DateTime?NotBefore: DateTime?

Subject: stringSubject: string

Type: stringType: string
string Jwt.Claims.GetValueOrDefault(claimName: string, defaultValue: string)string Jwt.Claims.GetValueOrDefault(claimName: string, defaultValue: string) claimName: stringclaimName: string

defaultValue: stringdefaultValue: string

Restituisce valori di attestazione separati da virgole oppure defaultValue se non viene trovata l'intestazione.Returns comma-separated claim values or defaultValue if the header is not found.
byte[] Encrypt(input: this byte[], alg: string, key:byte[], iv:byte[])byte[] Encrypt(input: this byte[], alg: string, key:byte[], iv:byte[]) input - testo non crittografato da crittografareinput - plaintext to be encrypted

alg - nome di un algoritmo di crittografia simmetricaalg - name of a symmetric encryption algorithm

key - chiave di crittografiakey - encryption key

iv - vettore di inizializzazioneiv - initialization vector

Restituisce testo normale crittografato.Returns encrypted plaintext.
byte[] Encrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm)byte[] Encrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm) input - testo non crittografato da crittografareinput - plaintext to be encrypted

alg - algoritmo di crittografiaalg - encryption algorithm

Restituisce testo normale crittografato.Returns encrypted plaintext.
byte[] Encrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm, key:byte[], iv:byte[])byte[] Encrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm, key:byte[], iv:byte[]) input - testo non crittografato da crittografareinput - plaintext to be encrypted

alg - algoritmo di crittografiaalg - encryption algorithm

key - chiave di crittografiakey - encryption key

iv - vettore di inizializzazioneiv - initialization vector

Restituisce testo normale crittografato.Returns encrypted plaintext.
byte[] Decrypt(input: this byte[], alg: string, key:byte[], iv:byte[])byte[] Decrypt(input: this byte[], alg: string, key:byte[], iv:byte[]) input - messaggio cifrato da decrittografareinput - cypher text to be decrypted

alg - nome di un algoritmo di crittografia simmetricaalg - name of a symmetric encryption algorithm

key - chiave di crittografiakey - encryption key

iv - vettore di inizializzazioneiv - initialization vector

Restituisce testo normale non crittografato.Returns plaintext.
byte[] Encrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm, key:byte[], iv:byte[])byte[] Decrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm) input - messaggio cifrato da decrittografareinput - cypher text to be decrypted

alg - algoritmo di crittografiaalg - encryption algorithm

Restituisce testo normale non crittografato.Returns plaintext.
byte[] Encrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm, key:byte[], iv:byte[])byte[] Decrypt(input: this byte[], alg: System.Security.Cryptography.SymmetricAlgorithm, key:byte[], iv:byte[]) input - messaggio cifrato da decrittografareinput - input - cypher text to be decrypted

alg - algoritmo di crittografiaalg - encryption algorithm

key - chiave di crittografiakey - encryption key

iv - vettore di inizializzazioneiv - initialization vector

Restituisce testo normale non crittografato.Returns plaintext.

Passaggi successiviNext steps

Per altre informazioni sull'uso di questi criteri, vedere:For more information working with policies, see: