我有一串字符串,32-35位,我想把它加成16位的,加密以后可以通过解密解回来,请问大家用什么加密解密方式呀?试了DES不行呀

解决方案 »

  1.   

    http://download.csdn.net/source/1612402
    给你个例子,去看看吧
      

  2.   


    DES是变位加密,就像打乱魔方的排列,起不到压缩的作用。
      

  3.   

    对称加密(使用RijndaelManaged类加密数据)
     //加密字符串
        public string Encrypting(string strSource)
        {
            try
            {
                //把字符串放到byte数组中
                byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);
                //建立加密对象的密钥和偏移量
                byte[] key = { 24, 55, 102, 24, 98, 26, 67, 29, 84, 19, 37, 118, 104, 85, 121, 27, 93, 86, 24, 55, 102, 24, 98, 26, 67, 29, 9, 2, 49, 69, 73, 92 };
                byte[] IV ={ 22, 56, 82, 77, 84, 31, 74, 24, 55, 102, 24, 98, 26, 67, 29, 99 };
                //实例  RijndaelManaged 类将字符串写入流中
                RijndaelManaged myRijndael = new RijndaelManaged();
                myRijndael.IV = IV;
                myRijndael.Key = key;
                ICryptoTransform encrypto = myRijndael.CreateEncryptor();
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
                cs.Write(bytIn, 0, bytIn.Length);
                cs.FlushFinalBlock();
                byte[] bytOut = ms.ToArray();
                return System.Convert.ToBase64String(bytOut);
            }
            catch (Exception ex)
            {
                throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message);
            }
        }
      

  4.   

    参考FortuneBase中的四种加密算法
    可以参考www.cnblogs.com/mail-ricklee中的FortuneBaseloginData.aspx.cs中