![](/img/trans.png)
[英]How do I know if the machineKey section from my machine.config is being used?
[英]How do I generate IIS machineKey from inside code?
我想要此web.config部分的隨機值:
<machineKey validation="HMACSHA512" decryption="AES"
validationKey="I NEED VALUE FOR THIS"
decryptionKey="SOME KEY" />
我看到IIS管理器可以生成值,但是在我擁有的版本中,下拉菜單中沒有用於“ HMACSHA512”的選項。 所以我需要其他方法。
我可以為此編寫一些C#代碼,但是它應該做什么呢? 它應該生成足夠長的隨機數和格式嗎?
我是否只使用RNGCryptoServiceProvider
類並生成適當的長字節數組,然后將其格式化為十六進制? 可以嗎?
我是否只使用RNGCryptoServiceProvider類並生成適當的長字節數組,然后將其格式化為十六進制?
差不多了 這就是.NET Framework在將其設置為AutoGenerate
時所做的事情 。
您可以使用RNGCryptoServiceProvider
生成具有適當長度的十六進制值。 HMACSHA512使用512位值,即64字節或128個十六進制字符。 所以我們可以做這樣的事情:
var rng = System.Security.Cryptography.RandomNumberGenerator.Create();
var buffer = new byte[64];
rng.GetBytes(buffer);
var hmacKey = BitConverter.ToString(buffer).Replace("-", "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.