2012-02-20 28 views
0

MVCで jqueryテンプレートを使用しました。それはIDを返すと、そのIDが通過している1つのリンクがセットアップされています。しかし、私はサーバー側の機能を使用してそのIDを暗号化したい。jquery関数から暗号化されたIDを渡す

{#template PAYMENTLINK} 
        <li class="scale-list-1"> 
         <a href="javascript:;" onclick="PaymentUrl({$T.PackageId});">Pay</a> 
        </li> 
       {#/template PAYMENTLINK} 

答えて

0

私たちが解決策で使用する暗号化と復号化の方法。あなたがする必要があるすべての)(id.ToStringされ、原因の方法は、私がすでに持っている方法上記の入力

 public string Decrypt(string inputValue) 
     { 
      byte[] inputEquivalent = Convert.FromBase64String(inputValue.Replace(" ", "+")); 

      using (var memoryStream = new MemoryStream()) 
      { 
       using (
        var cryptoStream = new CryptoStream(memoryStream, this.CryptoProvider.CreateDecryptor(), CryptoStreamMode.Write)) 
       { 
        cryptoStream.Write(inputEquivalent, 0, inputEquivalent.Length); 
        cryptoStream.FlushFinalBlock(); 

        cryptoStream.Close(); 
        return new UTF8Encoding().GetString(memoryStream.ToArray()); 
       } 
      } 
     } 

     /// <summary> 
     /// Gets the encrypted text. 
     /// </summary> 
     /// <param name="inputValue">The input value.</param> 
     /// <returns>Encrypted string</returns> 
     public string Encrypt(string inputValue) 
     { 
      using (var memoryStream = new MemoryStream()) 
      { 
       using (
        var cryptoStream = new CryptoStream(memoryStream, this.CryptoProvider.CreateEncryptor(), CryptoStreamMode.Write)) 
       { 
        byte[] toEncrypt = new UTF8Encoding().GetBytes(inputValue); 
        cryptoStream.Write(toEncrypt, 0, toEncrypt.Length); 
        cryptoStream.FlushFinalBlock(); 

        byte[] ret = memoryStream.ToArray(); 

        cryptoStream.Close(); 
        memoryStream.Close(); 

        return Convert.ToBase64String(ret); 
       } 
      } 
     } 
+0

はいとして文字列を取得します..私は上記の私のコードでは、この方法ではJavaScript値を渡したいです。 –

関連する問題