呵呵,知道了!好像ImportParameters后,那些函数传进去的参数都被修改了,不知道为什么!调试了好久啊!

解决方案 »

  1.   

    在WEB里我用的是formXml具体的如下:
    [WebMethod(EnableSession = true)]
    public byte[] getKey(string key,out byte[] desIV)
    {
    DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
    cryptoProvider.GenerateKey();
    cryptoProvider.GenerateIV();
    Session["Key"] = cryptoProvider.Key;
    Session["IV"] = cryptoProvider.IV;
    CspParameters csp= new CspParameters();
    csp.KeyContainerName = "CONTAINER_NAME";
    csp.Flags = CspProviderFlags.UseMachineKeyStore;
    RSACryptoServiceProvider RSA= new RSACryptoServiceProvider(csp);
    RSA.FromXmlString(key);

    desIV=  RSA.Encrypt(cryptoProvider.IV,false);
    return RSA.Encrypt(cryptoProvider.Key,false);
    }
    注意:csp.Flags = CspProviderFlags.UseMachineKeyStore;这句很重要