Decrypt / Decrypt阿拉伯字符串

时间:2016-01-04 10:11:21

标签: c#

如何在C#中加密/解密阿拉伯语文本

    public static string Encrypt(string pDataToEncrypt)
    {

        ASCIIEncoding textConverter = new ASCIIEncoding();
        RijndaelManaged myRijndael = new RijndaelManaged();
        byte[] toEncrypt;

        ICryptoTransform encryptor = myRijndael.CreateEncryptor(key, IV);

        MemoryStream msEncrypt = new MemoryStream();
        CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor,            CryptoStreamMode.Write);

        toEncrypt = textConverter.GetBytes(pDataToEncrypt);

        csEncrypt.Write(toEncrypt, 0, toEncrypt.Length);
        csEncrypt.FlushFinalBlock();

        return Convert.ToBase64String(msEncrypt.GetBuffer(), 0, (int)msEncrypt.Length);
    }

    public static string Decrypt(string pDataToDecrypt)
    {
        RijndaelManaged myRijndael = new RijndaelManaged();
        byte[] fromEncrypt;

        //Encoding asciiEncoding = Encoding.ASCII;

        fromEncrypt = Convert.FromBase64String(pDataToDecrypt);
        ICryptoTransform decryptor = myRijndael.CreateDecryptor(key, IV);

        MemoryStream msDecrypt = new MemoryStream(fromEncrypt, 0, fromEncrypt.Length);
        CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);
        StreamReader sr = new StreamReader(csDecrypt);

        return sr.ReadToEnd();

    }

当我尝试加密它的回报" ????"问号

提前致谢

1 个答案:

答案 0 :(得分:5)

使用

ASCIIEncoding()

而不是

SELECT