第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我什么時候需要.NET中的SecureString?

我什么時候需要.NET中的SecureString?

慕勒3428872 2019-08-30 16:47:22
我試圖了解.NET的SecureString的目的。來自MSDN:System.String類的實例都是不可變的,當不再需要時,不能以編程方式調度垃圾回收; 也就是說,實例在創(chuàng)建后是只讀的,并且無法預測實例何時從計算機內存中刪除。因此,如果String對象包含敏感信息(如密碼,信用卡號或個人數(shù)據(jù)),則使用該信息后可能會顯示該信息,因為您的應用程序無法從計算機內存中刪除該數(shù)據(jù)。SecureString對象類似于String對象,因為它具有文本值。但是,SecureString對象的值會自動加密,可以修改,直到您的應用程序將其標記為只讀,并且可以通過應用程序或.NET Framework垃圾收集器從計算機內存中刪除。初始化實例或修改值時,SecureString實例的值會自動加密。您的應用程序可以呈現(xiàn)實例不可變,并通過調用MakeReadOnly方法防止進一步修改。自動加密是最大的收益嗎?為什么我不能說:SecureString password = new SecureString("password");代替SecureString pass = new SecureString();foreach (char c in "password".ToCharArray())    pass.AppendChar(c);我錯過了SecureString的哪個方面?
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經(jīng)驗 獲得超2個贊

我會停止使用SecureString??雌饋鞵G家伙正在放棄對它的支持??赡苌踔猎趯砝?- https://github.com/dotnet/apireviews/tree/master/2015-07-14-securestring。


我們應該在.NET Core中的所有平臺上從SecureString中刪除加密 - 我們應該廢棄SecureString - 我們可能不應該在.NET Core中公開SecureString


查看完整回答
反對 回復 2019-08-30
?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

目前使用的框架的某些部分SecureString:


WPF的System.Windows.Controls.PasswordBox控件在內部將密碼保存為SecureString(作為副本公開PasswordBox::SecurePassword)

該System.Diagnostics.ProcessStartInfo::Password物業(yè)是一個SecureString

用于X509Certificate2獲取SecureString密碼的構造函數(shù)

主要目的是減少攻擊面,而不是消除它。SecureStrings在RAM中被“固定”,因此垃圾收集器不會移動它或復制它。它還確保純文本不會寫入Swap文件或核心轉儲中。加密更像是混淆,并且不會阻止確定的黑客,誰能夠找到用于加密和解密它的對稱密鑰。


正如其他人所說的那樣,你必須創(chuàng)建一個SecureString逐個字符的原因是因為第一個明顯的缺點:你可能已經(jīng)將秘密值作為一個普通的字符串了,那么重點是什么?


SecureStrings是解決Chicken-and-Egg問題的第一步,因此即使大多數(shù)當前場景需要將它們轉換回常規(guī)字符串以完全使用它們,它們在框架中的存在現(xiàn)在意味著更好地支持它們。未來 - 至少到你的程序不一定是薄弱環(huán)節(jié)的地步。


查看完整回答
反對 回復 2019-08-30
  • 3 回答
  • 0 關注
  • 1077 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號