gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA5402 |
Titel | CreateEncryptor gebruiken met de standaard IV |
Categorie | Beveiliging |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Nee |
De rgbIV
waarde kan niet standaard zijn als u deze gebruikt System.Security.Cryptography.SymmetricAlgorithm.CreateEncryptor.
Symmetrische versleuteling moet altijd een niet-herhaalbare initialisatievector gebruiken om woordenlijstaanvallen te voorkomen.
Deze regel is vergelijkbaar met CA5401, maar analyse kan niet bepalen dat de initialisatievector absoluut de standaardwaarde is.
Gebruik de standaardwaarde rgbIV
expliciet, dat wil gezegd, gebruik de overbelasting van de System.Security.Cryptography.SymmetricAlgorithm.CreateEncryptor waarde die geen parameter heeft.
Het is veilig om een waarschuwing van deze regel te onderdrukken als:
rgbIV
parameter is gegenereerd door System.Security.Cryptography.SymmetricAlgorithm.GenerateIV.rgbIV
parameter echt willekeurig en niet herhaalbaar is.Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA5402
// The code that's violating the rule is on this line.
#pragma warning restore CA5402
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA5402.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.
using System;
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod(byte[] rgbIV)
{
AesCng aesCng = new AesCng();
Random r = new Random();
if (r.Next(6) == 4)
{
aesCng.IV = rgbIV;
}
aesCng.CreateEncryptor();
}
}
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
AesCng aesCng = new AesCng();
aesCng.CreateEncryptor();
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registreren