Mirando este link he entendido muchas dudas que tenía (es un ejemplo buenísimo), pero no llego a entender el método SymmetricAlgorithm.CreateEncryptor. Cuando lo llamas debes poner la clave y su IV. En el ejemplo del link:
Código:
Utiliza la clave y el IV que recibe del procedimiento anterior:Using aesAlg As New AesCryptoServiceProvider() aesAlg.Key = Key aesAlg.IV = IV ' Create a decrytor to perform the stream transform. Dim encryptor As ICryptoTransform = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV)
Código:
Mi pregunta es que sentido tiene este valor y para que existe. He leido que es un vector pero no entiendo por qué es necesario. Estas preguntas me las hago porqué si tengo algo insertado en mi BD y lo quiero recuperar necesito poner este parámetro. La clave es fácil porqué la se, pero el IV, ¿de dónde lo obtengo? ¿debo guardarlo en algún lado? ¿es automático? Espero que me puedan explicar esto.Using myAes As New AesCryptoServiceProvider() ' Encrypt the string to an array of bytes. Dim encrypted As Byte() = EncryptStringToBytes_Aes(original, myAes.Key, myAes.IV)
Gracias por su tiempo.