![](/img/trans.png)
[英]Perl & .NET RSA working together? Encrypting in .NET from Perl public key? Loading private key from Perl?
[英]Encrypting with app public/private key in .net
- 我 - 我發現了另一種用途。 有些數據是通過HTTPS POST數據提交給我的,我想將它存儲在我的數據庫中(例如客戶支持可能需要稍后閱讀的母系名稱,而不是拼寫錯誤地檢查哈希是否匹配)。 我只需要加密的部分而不是整個數據庫,並且使用單獨的數據庫可能不值得。 問題:如何使用預制公鑰使用.NET加密對稱密鑰+文本? (其余的是上下文,我只想要一個答案plz)
-edit-之前我做過對稱加密。 如何使用公鑰加密對稱密鑰? 一個很好的獎勵是,如果你可以告訴我如何在一個單獨的應用程序中生成公鑰/私鑰,這樣我就可以創建它們並只在我的應用程序中存儲公鑰。
我正在考慮從更繁忙的網站自動減少壓力較小的網站抓取備份。 傳輸數據不是問題,因為我可以使用https但我不完全相信我的便宜的網站是安全的或不會有人環顧我的文件。 我主要想保護電子郵件地址和PM,如果我在網站上有它們。
所以我想知道如何在我的應用程序中使用公鑰或私鑰來加密數據,這樣只有我(或者我提供密鑰的任何人)才能解密備份。 我如何在.NET中執行此操作。 登錄和傳輸我可以在幾分鍾內寫,但我如何加密流我寫它?
- 編輯 - 它只是打我。 用戶/通行證不是秘密。 所以我必須在傳輸之前加密我的備份。 如何使用.NET使用公鑰加密對稱密鑰。 然后在我身邊解密它。 使用對稱密鑰加密文件我知道該怎么做。
首先:深度防守。 如果您擔心備份站點的安全性,請保護備份站點 。 通過加密緩解攻擊是一個好主意,但它不應該是唯一的想法。
其次,為什么要考慮使用公鑰/私鑰加密? 通常,在嘗試將消息從發件人傳遞給收件人時,您只使用公鑰/私鑰加密。 公鑰加密對您的方案有什么價值?
要在C#中加密流,此頁面可能會有所幫助:
http://support.microsoft.com/kb/307010
更新:
當然,是的,您必須在文件到達您認為已被盜用的網站之前對其進行加密。
您認為該網站可能不安全。 你應該做的假設是該網站是你的敵人,並試圖傷害你 。 像攻擊者想的那樣開始思考。 你的敵人會做什么? 如果我是你的敵人,你遞給我一堆文件代表你存儲,我可能會:
假設不安全的備份站點操作員正在嘗試對您執行所有這些操作。 加密是對某些攻擊的緩解,但不是全部。
沒有冒犯,但很明顯,你不知道加密來解決這個問題,有任何合理的機會讓它對抗真正的攻擊者。 這沒什么好羞恥的; 我也沒有這方面的知識 。 相反, 我有足夠的知識知道這個問題超出了我的范圍。 嘗試更多地了解加密是沒有錯的; 我強烈鼓勵。 但是如果你有一個真正的威脅,並且你正試圖用專業級的加密工具來緩解它, 那么就不要推出自己的解決方案了 。 聘請這個領域的專家顧問,他可以告訴你正確的事情是什么,給你面臨的現實威脅。
使用對稱密鑰加密,然后使用公鑰加密對稱密鑰,然后刪除對稱密鑰。 只有相應私鑰(您)的所有者才能解密對稱密鑰,從而解密文檔。 應用程序中沒有存儲任何秘密。 好消息是,只有大約一噸的開箱即用產品(pgp)和協議(s-mime)才能解決這個問題。
您可以使用對稱密鑰算法(AES,DES,Triple-DES)對代碼執行加密,並將其以十六進制形式存儲在數據庫中(在nvarchar字段中)。 因為,你需要以加密的形式將其轉移給其他人,你不需要使用任何不對稱算法(如RSA,ElGamal等)。如果像RSA這樣的東西,你還必須考慮使用類似PGP的數據進行數據簽名。
但是,無論您使用哪種算法,都需要確保密鑰盡可能安全 ,即AES的對稱密鑰和RSA的私鑰等。
本文提供了有關如何使用/不使用Salt執行對稱加密的教程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.