質問

監督-選手コメン店のパスワードファイルおきたいと思いますを取得す。ハッシュなオプションとしてさんありがとうございます。パスワードを接続するためのリモートサーバーです。

次のコードの作品でもあるというように異なる出力されるもののキーは同じです。これは悪いと願した場合にシャットダウンすると再起んですが、できるメールアドレスのフォーマットです。たいのですが店内パスワードファイルを取得します。

public class EncyptDecrypt {

    static System.Security.Cryptography.TripleDESCryptoServiceProvider keyProv = new System.Security.Cryptography.TripleDESCryptoServiceProvider();

    public static System.Security.Cryptography.TripleDESCryptoServiceProvider KeyProvider {
        get {
            keyProv.Key = new byte[] { /* redacted with prejudice */ };
            return keyProv;
        }
    }

    public static string Encrypt(string text, SymmetricAlgorithm key) {

        if (text.Equals(string.Empty)) return text;

        // Create a memory stream.
        MemoryStream ms = new MemoryStream();

        // Create a CryptoStream using the memory stream and the
        // CSP DES key.
        CryptoStream encStream = new CryptoStream(ms, key.CreateEncryptor(), CryptoStreamMode.Write);

        // Create a StreamWriter to write a string
        // to the stream.
        StreamWriter sw = new StreamWriter(encStream);

        // Write the plaintext to the stream.
        sw.WriteLine(text);

        // Close the StreamWriter and CryptoStream.
        sw.Close();
        encStream.Close();

        // Get an array of bytes that represents
        // the memory stream.
        byte[] buffer = ms.ToArray();

        // Close the memory stream.
        ms.Close();

        // Return the encrypted byte array.
        return System.Convert.ToBase64String(buffer);
    }

    // Decrypt the byte array.
    public static string Decrypt(string cypherText, SymmetricAlgorithm key) {

        if (cypherText.Equals(string.Empty)) return cypherText;

        string val;

        try {
            // Create a memory stream to the passed buffer.
            MemoryStream ms = new MemoryStream(System.Convert.FromBase64String(cypherText));

            // Create a CryptoStream using the memory stream and the
            // CSP DES key.
            CryptoStream encStream = new CryptoStream(ms, key.CreateDecryptor(), CryptoStreamMode.Read);

            // Create a StreamReader for reading the stream.
            StreamReader sr = new StreamReader(encStream);

            // Read the stream as a string.
            val = sr.ReadLine();

            // Close the streams.
            sr.Close();
            encStream.Close();
            ms.Close();
        }
        catch (System.Exception) {

            return string.Empty;
        }

        return val;
    }
}
役に立ちましたか?

解決

このことは、暗号プロバイダにはランダムに生成。を指定することではないが異なります。

編集:これまでにお'keyProvider'設定の物件です。

他のヒント

別のドキュメントのCreateEncryptor:

現在のIVプロパティはnull 参照(何もしていないVisual Basic), のGenerateIVソッドが呼び出され、 新しいランダムIV.

この暗号文毎に異なる。

注意:ることを検討し こちらの があることができ誤動作防止)の平文とmac...そして第のブロックの暗号文が効果的にIVがで繰り返し

を指定する必要があります。IV(初期化ベクトル)場合でも、ランダムに生成します。ご利用の場合ランダムIVのお店で、暗号文利用できその後、復号化、統IVからその他のデータ(例えばれば暗号化パスワードできるのIVからのユーザ名).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top