Foros del Web » Programando para Internet » ASPX (.net) »

encriptar URL

Estas en el tema de encriptar URL en el foro de ASPX (.net) en Foros del Web. Hola, alguien me puede orientar para poder implementar la encriptacion de la URL? Yo me manejo mucho con el objeto session para enviar datos, pero ...
  #1 (permalink)  
Antiguo 18/02/2010, 11:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 189
Antigüedad: 20 años
Puntos: 1
encriptar URL

Hola, alguien me puede orientar para poder implementar la encriptacion de la URL? Yo me manejo mucho con el objeto session para enviar datos, pero en muchos casos paso informacion por Querystring y no quiero que se vea esa informacion en la URL.
Hay alguna forma de encriptar esto?

Agradecere cualquier aporte.

Saludos
__________________
Nadie nacío sabiendo...
  #2 (permalink)  
Antiguo 19/02/2010, 10:57
 
Fecha de Ingreso: octubre-2009
Mensajes: 14
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: encriptar URL

ya mira usa estos dos metoso lo datos los pasos por la url encripatados y a la hora que los recibes con el query string los desencriptas me comentas que tal te fue

///////////////////////// DESENCRIPTAR////////////////////////////////////////

public static string DecryptString(string Value)
{
// Convert strings defining encryption key characteristics into byte
// arrays. Let us assume that strings only contain ASCII codes.
// If strings include Unicode characters, use Unicode, UTF7, or UTF8
// encoding.
byte[] initVectorBytes = Encoding.ASCII.GetBytes("@1B2c3D4e5F6g7H8");
byte[] saltValueBytes = Encoding.ASCII.GetBytes("s@1tValue");

// Convert our ciphertext into a byte array.
byte[] cipherTextBytes = Convert.FromBase64String(Value);

// First, we must create a password, from which the key will be
// derived. This password will be generated from the specified
// passphrase and salt value. The password will be created using
// the specified hash algorithm. Password creation can be done in
// several iterations.
PasswordDeriveBytes password = new PasswordDeriveBytes(
"Pas5pr@se",
saltValueBytes,
"SHA1",
2);


// Use the password to generate pseudo-random bytes for the encryption
// key. Specify the size of the key in bytes (instead of bits).
byte[] keyBytes = password.GetBytes(256 / 8);

// Create uninitialized Rijndael encryption object.
RijndaelManaged symmetricKey = new RijndaelManaged();

// It is reasonable to set encryption mode to Cipher Block Chaining
// (CBC). Use default options for other symmetric key parameters.
symmetricKey.Mode = CipherMode.CBC;

// Generate decryptor from the existing key bytes and initialization
// vector. Key size will be defined based on the number of the key
// bytes.
ICryptoTransform decryptor = symmetricKey.CreateDecryptor(
keyBytes,
initVectorBytes);

// Define memory stream which will be used to hold encrypted data.
MemoryStream memoryStream = new MemoryStream(cipherTextBytes);

// Define cryptographic stream (always use Read mode for encryption).
CryptoStream cryptoStream = new CryptoStream(memoryStream,
decryptor,
CryptoStreamMode.Read);

// Since at this point we don't know what the size of decrypted data
// will be, allocate the buffer long enough to hold ciphertext;
// plaintext is never longer than ciphertext.
byte[] plainTextBytes = new byte[cipherTextBytes.Length];

// Start decrypting.
int decryptedByteCount = cryptoStream.Read(plainTextBytes,
0,
plainTextBytes.Length);

// Close both streams.
memoryStream.Close();
cryptoStream.Close();

// Convert decrypted data into a string.
// Let us assume that the original plaintext string was UTF8-encoded.
string plainText = Encoding.UTF8.GetString(plainTextBytes,
0,
decryptedByteCount);

// Return decrypted string.
return plainText;

}


///////////////////////// ENCRIPTAR////////////////////////////////////////
public static string CryptString(string Value)
{
// Convert strings into byte arrays.
// Let us assume that strings only contain ASCII codes.
// If strings include Unicode characters, use Unicode, UTF7, or UTF8
// encoding.
byte[] initVectorBytes = Encoding.ASCII.GetBytes("@1B2c3D4e5F6g7H8");
byte[] saltValueBytes = Encoding.ASCII.GetBytes("s@1tValue");

// Convert our plaintext into a byte array.
// Let us assume that plaintext contains UTF8-encoded characters.
byte[] plainTextBytes = Encoding.UTF8.GetBytes(Value);

// First, we must create a password, from which the key will be derived.
// This password will be generated from the specified passphrase and
// salt value. The password will be created using the specified hash
// algorithm. Password creation can be done in several iterations.
PasswordDeriveBytes password = new PasswordDeriveBytes(
"Pas5pr@se",
saltValueBytes,
"SHA1",
2);

// Use the password to generate pseudo-random bytes for the encryption
// key. Specify the size of the key in bytes (instead of bits).
byte[] keyBytes = password.GetBytes(256 / 8);

// Create uninitialized Rijndael encryption object.
RijndaelManaged symmetricKey = new RijndaelManaged();

// It is reasonable to set encryption mode to Cipher Block Chaining
// (CBC). Use default options for other symmetric key parameters.
symmetricKey.Mode = CipherMode.CBC;

// Generate encryptor from the existing key bytes and initialization
// vector. Key size will be defined based on the number of the key
// bytes.
ICryptoTransform encryptor = symmetricKey.CreateEncryptor(
keyBytes,
initVectorBytes);

// Define memory stream which will be used to hold encrypted data.
MemoryStream memoryStream = new MemoryStream();

// Define cryptographic stream (always use Write mode for encryption).
CryptoStream cryptoStream = new CryptoStream(memoryStream,
encryptor,
CryptoStreamMode.Write);
// Start encrypting.
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);

// Finish encrypting.
cryptoStream.FlushFinalBlock();

// Convert our encrypted data from a memory stream into a byte array.
byte[] cipherTextBytes = memoryStream.ToArray();

// Close both streams.
memoryStream.Close();
cryptoStream.Close();

// Convert encrypted data into a base64-encoded string.
string cipherText = Convert.ToBase64String(cipherTextBytes);

// Return encrypted string.
return cipherText;
}
  #3 (permalink)  
Antiguo 19/02/2010, 11:03
 
Fecha de Ingreso: mayo-2004
Mensajes: 189
Antigüedad: 20 años
Puntos: 1
Respuesta: encriptar URL

muy bueno!!
Encontre un componente externo para encriptar, funciona muy bien y con solo dos lineas ya encriptas.

Código:
Dim querystringSeguro As TSHAK.Components.SecureQueryString
querystringSeguro = New TSHAK.Components.SecureQueryString(New Byte() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 8})
querystringSeguro("id") = drFila("id_cliente")
Lo malo es que no encuentro mas info sobre el componente, ya que lo encontre en un sitio que no estaba activo y lo recupere gracias al cache de Google, el sitio del componente tampoco existe.
Si alguien sabe algo mas de este componente, algun manual para saber un poco mas como funciona, le agradecere me lo comparta.

Voy a guardar este que me dejo chamako, parece interesante tambien ya que usa SHA1

saludos
__________________
Nadie nacío sabiendo...

Etiquetas: encriptar, url, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:06.