2012-01-20 5 views
1

私は、.Net4とMVC3以上の私の学生プロジェクトに取り組んでいます。 接続文字列などの設定ファイルに保存するためのエンコード/デコード情報などのセキュリティ機能を除いて、プロジェクトはほぼ終了しています。.NETで暗号化技術を強力かつ簡単に実装できますか?

非常に複雑なソリューションを避けたいので、使いやすい暗号化を探しています。私はちょうどKEYとStringを提供することができ、エンコードされたテキストを返すことができます(以下のBase64の例に似ています)。

私はMSDNのSystem.Security.Cryptography名前空間のドキュメントをオンラインで見ましたが、それは私のような初心者のための多くのオプションがあります。

私はそれを達成するための提案と方法を教えてください。 ありがとうございます。

static public string EncodeTo64(string toEncode) 
    { 
     byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode); 
     string encodedValue = System.Convert.ToBase64String(toEncodeAsBytes); 
     return encodedValue; 
    } 

    static public string DecodeFrom64(string toDecode) 
    { 
     var toDecodeAsString = System.Convert.FromBase64String(toDecode); 
     string decodedValue = System.Text.ASCIIEncoding.ASCII.GetString(toDecodeAsString); 
     return decodedValue; 
    } 

は細かい動作しますが、問題は、私の知る限り、この理解きたようであるとして、非常に信頼性の高いものではありません。検索中


は、私はこのように実装Base64での簡単な解決策を見つけましたスタティックエンコーディング技術(カスタムKEYなしのもの)は簡単にデコードでき、多くのオンラインベースの64個のデコーダがネット上で利用可能です。私もAES as expalined hereと仕事をしようとしましたが、成功しませんでした。 最大簡単にするためにここに

+5

Base64は暗号化されていないため、エンコードしています。深刻な暗号プリミティブを実装しようとする前に、その違いを知る必要があります。とにかく、真の答えは、実装するのが簡単な暗号はないということです。強力な暗号とシンプルさは、定義によってほぼ排他的です。 – Polynomial

+0

何を暗号化しようとしていますか?ユーザーのコンテンツまたは構成データ –

+1

** Encoding **と** Encrypting **を混同しないように注意してください。最初はセキュリティとは関係ありません。 – Strillo

答えて

2

ちょうどWindowsのデータ保護API(DAPI)を見てみましょう。これにより、を使用せずに暗号化するが提供され、キーを処理する必要があります。

.NETで提供されているProtectedDataクラスで簡単に使用できます。

関連する問題