C#解密算法方法;我该怎么加密呢?

时间:2017-08-13 15:56:58

标签: c# algorithm c#-4.0 encryption cryptography

我试图做算法。

我找到了一个示例算法,但我不知道如何加密它。我努力了,但我做不到。

你能帮我吗?

private static string Decrypt(string string_key)
{
    UTF8Encoding uTF8Encoding = new UTF8Encoding();

    RijndaelManaged rijndaelManaged = new RijndaelManaged();
    rijndaelManaged.Mode = CipherMode.CBC;

    byte[] bytes = Encoding.UTF8.GetBytes("test");
    byte[] bytes2 = Encoding.UTF8.GetBytes("test");

    ICryptoTransform transform = rijndaelManaged.CreateDecryptor(bytes, bytes2);

    byte[] array = Convert.FromBase64String(string_key);

    MemoryStream memoryStream = new MemoryStream(array);
    CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Read);

    byte[] array2 = new byte[checked(array.Length + 1)];
    int count = cryptoStream.Read(array2, 0, array2.Length);

    memoryStream.Close();
    cryptoStream.Close();

    string_key = uTF8Encoding.GetString(array2, 0, count);
    return string_key;
}

1 个答案:

答案 0 :(得分:-10)

要加密字符串,我建议您使用XOR而不是Rijndael。

为什么呢?因为加密算法==解密算法。 我一直都在使用它。如果你真的想要,你可以使用Rijndael,或者如果需要,可以在网上找到完美的例子。

        public static string XOR(string input, string key)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < input.Length; i++)
            sb.Append((char)(input[i] ^ key[(i % key.Length)]));
        String result = sb.ToString();

        return result;
    }