Algunas de tus dudas. para que tu metodo sea bastante fuerte valores como
InitValues = o mejor conocido como IV (o vector de Inicializacion) debe ser bastante aleatorio, si un hacker intenta botar la encriptacion de tu informacion si encuentra un patron adios con esto.
saltValue = es un valor que hace ruido, es decir agregas informacion que alterCara los datos que ingreses es como hacer
passphrase --> C(P) ---> ciphertext
a algo como
Cita:
(Algoritmo de Encriptacion)
passphrase--> C(P+S) -----------------------> ciphertext
`
s=salt value
ahora preguntas si sera seguro, bueno algo te digo copiar el codigo de alguien mas es seguro q no es seguro, para hacer algo que con un poco de dedicacion puedes hacer tu investigando no totalmente como funciona la encriptacion pero que elementos se involucran.
recomendacion consiguete un libro de seguridad en .net framework muchos hay pero te sera mas simple interpretar elementos que simplemente copiar y pegar.