2011-07-14 3 views
2

私はAESアルゴリズムで暗号化する文字列を持っています。次に、結果をWebブラウザ内のCookieに保存します。暗号化とCookieへのエンコーディング

AES暗号化の結果はバイト配列です。私はこれをクッキーに格納できる文字列にしたいと思います。エンコーディングが正しく機能していないようです。

現在、私は文字列を暗号化しています。次に、64文字のエンコーディングを使用していて、いくつかの文字を "="のように置き換えています。 "、" + "、"/"である。これは動作しますが、それは優雅な解決策ではないようです...

良い方法はありますか?

答えて

1

これはあなたのやっていることに対するかなり一般的なアプローチです。

次のクラスでは、パディングを省略して ' - 'と '_'を使用してこれらをすべてラップします。これは、はるかに効率的な文字を置き換えるよりも、ほぼ同じ速Convert.ToBase64String方法として次のとおりです。

http://csharptest.net/browse/src/Library/Formatting/Safe64Encoding.cs

使用例:

byte[] data = new byte[10]; 
string encoded = Safe64Encoding.EncodeBytes(data); 
... 
data = Safe64Encoding.DecodeBytes(encoded);