有一段字符串 字符串是由数字组成 23847912858456 类似这样的 位数有 长度为21位要求加密成纯数字的字符串 长度和其类似   要求能解密

解决方案 »

  1.   

                string m = "";
                string s = "23847912858456";
                for (int a = 0; a < s.Length; a++)
                {
                    string temp = s.Substring(a, 1);
                    int n = int.Parse(temp);
                    m += ((n + 2) % 10).ToString();
                }            MessageBox.Show(m);
      

  2.   

    http://blog.csdn.net/guwei4037/article/details/6538296
      

  3.   

    刚才忘记写解密了,补上            string m = "";
                string s = "23847912858456";//这个替换上面的MessageBox.Show(m);
                for (int a = 0; a < s.Length; a++)
                {
                    string temp = s.Substring(a, 1);
                    int n = int.Parse(temp);
                    m += ((n + 8) % 10).ToString();
                }            MessageBox.Show(m);[/code]
      

  4.   

    #region RSA 加密解密  #region RSA 的密钥产生 

    /// <summary>
    /// RSA 的密钥产生 产生私钥 和公钥 
    /// </summary>
    /// <param name="xmlKeys"></param>
    /// <param name="xmlPublicKey"></param>
    public void RSAKey(out string xmlKeys,out string xmlPublicKey) 

    System.Security.Cryptography.RSACryptoServiceProvider rsa=new RSACryptoServiceProvider(); 
    xmlKeys=rsa.ToXmlString(true); 
    xmlPublicKey = rsa.ToXmlString(false); 

    #endregion  #region RSA的加密函数 
    //############################################################################## 
    //RSA 方式加密 
    //说明KEY必须是XML的行式,返回的是字符串 
    //在有一点需要说明!!该加密方式有 长度 限制的!! 
    //##############################################################################  //RSA的加密函数  string
    public string RSAEncrypt(string xmlPublicKey,string m_strEncryptString ) 


    byte[] PlainTextBArray; 
    byte[] CypherTextBArray; 
    string Result; 
    RSACryptoServiceProvider rsa=new RSACryptoServiceProvider(); 
    rsa.FromXmlString(xmlPublicKey); 
    PlainTextBArray = (new UnicodeEncoding()).GetBytes(m_strEncryptString); 
    CypherTextBArray = rsa.Encrypt(PlainTextBArray, false); 
    Result=Convert.ToBase64String(CypherTextBArray); 
    return Result; 


    //RSA的加密函数 byte[]
    public string RSAEncrypt(string xmlPublicKey,byte[] EncryptString ) 


    byte[] CypherTextBArray; 
    string Result; 
    RSACryptoServiceProvider rsa=new RSACryptoServiceProvider(); 
    rsa.FromXmlString(xmlPublicKey); 
    CypherTextBArray = rsa.Encrypt(EncryptString, false); 
    Result=Convert.ToBase64String(CypherTextBArray); 
    return Result; 


    #endregion  #region RSA的解密函数 
    //RSA的解密函数  string
    public string RSADecrypt(string xmlPrivateKey, string m_strDecryptString ) 
    {
    byte[] PlainTextBArray; 
    byte[] DypherTextBArray; 
    string Result; 
    System.Security.Cryptography.RSACryptoServiceProvider rsa=new RSACryptoServiceProvider(); 
    rsa.FromXmlString(xmlPrivateKey); 
    PlainTextBArray =Convert.FromBase64String(m_strDecryptString); 
    DypherTextBArray=rsa.Decrypt(PlainTextBArray, false); 
    Result=(new UnicodeEncoding()).GetString(DypherTextBArray); 
    return Result; 

    }  //RSA的解密函数  byte
    public string RSADecrypt(string xmlPrivateKey, byte[] DecryptString ) 
    {
    byte[] DypherTextBArray; 
    string Result; 
    System.Security.Cryptography.RSACryptoServiceProvider rsa=new RSACryptoServiceProvider(); 
    rsa.FromXmlString(xmlPrivateKey); 
    DypherTextBArray=rsa.Decrypt(DecryptString, false); 
    Result=(new UnicodeEncoding()).GetString(DypherTextBArray); 
    return Result; 


    #endregion  #endregion