1

.NET の RijndaelManaged クラスを使用して、文字列の暗号化と復号化を行っています。3 つの異なる文字列が最初に暗号化されてから連結され、パイプ (|) で区切られてから、この文字列がデータベースに保存されます。

文字列を復号化する必要がある場合は、まず暗号化された 3 つの文字列を分離してから復号化します。

次のように、個々の暗号化された文字列を連結しています。

StringBuilder sb = new StringBuilder();
sb.Append(Crypto.Encrypt("string1")).Append("|")
.Append(Crypto.Encrypt("string2")).Append("|")
          Crypto.Encrypt("string3"));

私の質問は: RijndaelManaged を使用して文字列を暗号化する場合、暗号化された文字列にパイプ記号を含めることができますか?

4

1 に答える 1

2

.NET の RijndaelManaged クラスを使用して、文字列の暗号化と復号化を行っています。

それを基礎となる暗号化として使用している可能性がありますが、RijndaelManaged は通常、暗号化コードの場合と同様に、バイナリ データのみを扱います。

おそらく、文字列をバイトに変換し(できればUTF-8などの適切なエンコーディングを使用して)、暗号化し、暗号化されたバイトを文字列に変換します。

暗号化されたバイトを文字列に戻す方法を知らなければ、結果に|. 通常のbase64アルファベットでは使用されていないためConvert.ToBase64String、(おそらく私が使用するものです)を使用している場合は問題ありません。|各バイトを 2 つの 16 進数に変換するだけの場合も同様です。しかし、おそらくあなたは何か他のことをしています。( を使用してEncodingいる場合は、ちなみにやり方が間違っており、簡単にデータを失う可能性があります。)

于 2013-06-06T08:04:31.353 に答える