Now, it seems like I may did it horribly wrong, I'm going to fix it right now.
Thank you!
EDIT:
After I read an answer[0] on StackExchange, I realized I maybe did it right (Because of the CFB mode is different than CBC). Looks like I need to learn a whole lot more before start that fixing.
Next time I'll just use GCM and save all these troubles.
[0] https://crypto.stackexchange.com/questions/42369/is-this-sym...