Voor beveiliging en/of privacy kan het belangrijk zijn dat jij jouw ASP.NET ViewState versleutelt. In een notendop is de ASP.NET view state een techniek om wijzigingen in de staat van WebForms bij te houden voor postbacks. Je kunt je voorstellen dat hier belangrijke bezoekersinformatie in opgeslagen kan zitten. Dat moet dus versleuteld en beveiligd worden.
Met de volgende regel in het web.config-bestand wordt de ASP.NET ViewState versleuteld:
<machineKey
validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="AES" decryption="Auto"
/>
Let wel, dit zijn standaard waarden.
Plaats dit voorbeeld in de <system.web>
node van het web.config
-bestand.
Gevorderde ASP.NET-programmeurs kunnen hier eigen instellingen gebruiken. Via Microsofts .NET Web Development and Tools Blog vind je hierover meer informatie: Cryptographic Improvements in ASP.NET 4.5, pt. 2 en MachineKeyValidation Enum.
HMACSHA512 in plaats van AES
Als je wilt overstappen van standaard AES versleuteling naar HMACSHA512, dan neem je het volgende op in web.config:
<machineKey
decryption="Auto"
decryptionKey="AutoGenerate,IsolateApps"
validation="HMACSHA512"
validationKey="AutoGenerate,IsolateApps"
/>