byte[] applicationEntropy = Encoding.ASCII.GetBytes("AcmeWidgets");
return ProtectedData.Unprotect(ciphertext, applicationEntropy,
DataProtectionScope.LocalMachine);
}
對于你們中那些使用 .NET Framework 構建密碼系統的人,你們將很高興地了解到有一個全新的類族,它們派生于新的抽象類、密鑰哈希消息身份驗證代碼 (HMAC)。包含了所有的 SHA 變量。下面是一個示例:
byte[] CalcMAC(byte[] key, byte[] msg) {
return new HMACSHA256(key).ComputeHash(msg);
}
如果您在從事基于密碼的加密技術,用密碼或通行碼生成密鑰材料,您現在就可以用業界標準算法生成密碼 PKCS#5(文檔位于 RFC 2898 中)的字節流。新的 Rfc2898DeriveBytes 使得保存和取回密碼很容易,正如我在上一專欄中所講述的。在內部,它使用帶有 HMAC-SHA-1 的 PBKDF2 函數:
void CreateNewUserAccount(string name, string pwd) {
Rfc2898DeriveBytes db = new Rfc2898DeriveBytes(password, 32, 1000);
byte[] hash = db.GetBytes(32);
addUserAccountToDatabase(name, db.Salt, hash);
}
返回頁首
文章來源于領測軟件測試網 http://www.kjueaiud.com/