解密/解密阿拉伯语串 [英] Decrypt/Decrypt Arabic string

查看:168
本文介绍了解密/解密阿拉伯语串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何加密/在C#解密阿拉伯文字

How to encrypt/decrypt arabic text in 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();

    }

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

when i try to encrypt its return "????" question marks

在此先感谢

推荐答案

使用

UnicodeEncoding() 

而不是

ASCIIEncoding()

这篇关于解密/解密阿拉伯语串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆