2016-08-11 4 views
0

AES256は、32バイトのデータである256ビットのキーをASCII文字の32文字で使用します。それは主にシステム生成キーです。 C#でAESクラスを使用してプレーンテキストファイルを暗号化するプロジェクトを開発しています。このプロジェクトには、ユーザーにキーを提供するように求めるウィンドウフォームがあります。ユーザー提供キーを使用してプレーンテキストを暗号化する方法はありますか?AES暗号化でユーザーが提供するキーC#

+1

なぜでしょうか? – CodeCaster

+0

[C#System.Security.Cryptography.Aesを使用したAES256暗号化の例](http://stackoverflow.com/questions/7400884/c-sharp-example-of-aes256-encryption-using-system-security-暗号 - エイズ) – active92

答えて

2

のキーをユーザーに尋ねるべきではありません。ユーザーにパスワードフレーズを問い合わせてから、PBKDF2のように、業界標準のkey derivation algorithmsのいずれかを使用してパスワードフレーズからキーを生成する必要があります。 .NetはRfc2898DeriveBytesクラスでこれをサポートしています。それを使用する方法については、リンクの例を参照してください。また、適切な初期化ベクトルを生成し、それを暗号化されたファイルの先頭に追加してください。

システム生成キーとユーザー提供のパスワードフレーズを混在させないでください。鍵を生成する場合、に鍵交換プロトコルを適用する必要があります。 TLS。

基本的な暗号について書類を書く時間を割いてください。 The Handbookは良い読み始める(そして無料です)。まだ別の壊れた暗号製品をリリースしないでください...