2017-06-15 10 views
0

私はWeb開発では新しいです。私は私のコースプロジェクトに取り組んで、私がURLでデータを旅行しているウェブサイトを作っています。ユーザーのためにそのデータを非表示にして、将来変更できないようにしたいと考えています。 私はASP.netで作業しています。ヘルプは非常に高く評価されます。URLで移動するデータを隠す

答えて

1

は、URL で移動データを隠すことはできませんが、私のURLは姓=フッド text.aspx?ファーストネーム=ロビン&であるようにあなたは、URL 内のデータを暗号化することができ、その後Test.aspxという?ファーストネーム= 121sdnasdkjn121928のように表示されるはずです&姓= sadklsdn12981029その 、その後、あなたが取得しているデータのような 何かあなたは、そのデータを復号化する必要があり、それは、暗号化や復号化

public static string Encrypt(string clearText) 
    { 
     try 
     { 
      string EncryptionKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890"; 
      byte[] clearBytes = Encoding.Unicode.GetBytes(clearText); 
      using (Aes encryptor = Aes.Create()) 
      { 
       Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 }); 
       encryptor.Key = pdb.GetBytes(32); 
       encryptor.IV = pdb.GetBytes(16); 
       using (MemoryStream ms = new MemoryStream()) 
       { 
        using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write)) 
        { 
         cs.Write(clearBytes, 0, clearBytes.Length); 
         cs.Close(); 
        } 
        clearText = Convert.ToBase64String(ms.ToArray()); 
       } 
      } 
      return clearText; 
     } 
     catch 
     { 
      return null; 
     } 
    } 

    public static string Decrypt(string cipherText) 
    { 
     try 
     { 
      string EncryptionKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890"; 
      byte[] cipherBytes = Convert.FromBase64String(cipherText.Replace(" ", "+")); 

      using (Aes encryptor = Aes.Create()) 
      { 
       Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 }); 
       encryptor.Key = pdb.GetBytes(32); 
       encryptor.IV = pdb.GetBytes(16); 
       using (MemoryStream ms = new MemoryStream()) 
       { 
        using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write)) 
        { 
         cs.Write(cipherBytes, 0, cipherBytes.Length); 
         cs.Close(); 
        } 
        cipherText = Encoding.Unicode.GetString(ms.ToArray()); 
       } 
      } 
      return cipherText; 
     } 
     catch 
     { 
      return null; 
     } 
    } 
ための機能があり、実際のデータここ

を返します。

OR

あなたは代わりにローカルホストのように、ユーザ に偽のURLを実際のURLを非表示にするだけでなく長期のURLルーティングを使用して表示することができます:1544 /テストまたはlocalhostを:1544/Test.aspxという、それがローカルホストが表示されます1544/what_ever_you_want これは.aspx拡張子も隠します

希望これは役に立ちます

1

URL内を移動するデータを非表示にすることはできません。 URLに表示されないデータを送信する最も簡単な方法は、GET要求の代わりにPOST要求を使用することです。

関連する問題