我的代码是这样的:
byte[] userunit = system.text.encoding.default.getbytes(TextBox1.Text);
1)string dd = BitConverter.ToString(userunit);
2)char[] userunittra = new char[userunit .Length];
for(int i = 0;i< userunit .Length;i ++)
{
userunittra[i] = (char)userunit[i];
string ll = userunit[i].Tostring();}foreach(char sr in userunittra)
{
sr.Tostring();
}1)是将字符转换为了ABCDE-SSDFF....这样格式的数据
2)是转换为了乱码样的数据
现在需要将原先的TextBox1.Text变为它本来的字符串,如何处理。
第一种或者第二种都可,就是加密后解密的过程。
谢谢各位帮忙。

解决方案 »

  1.   

    你这哪是加密,只是将字符串变为Byte[]而已, 反过来GetString就可以了。string originalStr = System.Text.Encoding.Default.GetString(userunit);
      

  2.   

    建议使用3DES加密,比自己来做要安全得多。
      

  3.   

    二进制字符串
    byte[] byteArray = System.Text.Encoding.Default.GetBytes("");
    string str = System.Text.Encoding.Default.GetString(byteArray);
    加密解密方法
    http://topic.csdn.net/u/20090110/13/e28ea3f1-ff3a-4cc9-84b6-18e4e426b46f.html
      

  4.   

    可能没有表达清楚,是把dd或者userunittra 写到了配置文件里面,然后下次登录的时候需要还原为原来的TEXTBOX1.TEXT这个字符串,比如“研究所”。
      

  5.   

     static void Main(string[] args)
     {
         string text = "测试";
         byte[] bytes = Encoding.Default.GetBytes(text);
         string bitStr = BitConverter.ToString(bytes);
         Console.WriteLine("Encode:{0}", bitStr);     string[] strSplit = bitStr.Split('-');
         byte[] bytTemp2 = new byte[strSplit.Length];
         for (int i = 0; i < strSplit.Length; i++)
             bytTemp2[i] = byte.Parse(strSplit[i], System.Globalization.NumberStyles.AllowHexSpecifier);
         string str2 = System.Text.Encoding.Default.GetString(bytTemp2);
         Console.WriteLine("Decode:{0}", str2);     Console.Read();
     }上面的方法总感觉不正规,如果是Decode/Encode的话,应该用下面的方法:
    public static string StringToBase64(string src)
    {
        byte[] b = Encoding.Unicode.GetBytes(src);
        return Convert.ToBase64String(b);
    }
    public static string Base64ToString(string src)
    {
        byte[] b = Convert.FromBase64String(src);
        return Encoding.Unicode.GetString(b);
    }