encrypting identical datas returns identical results.
Well, i know you asked not to point it out, buuut... i think that's the biggest flaw in your algorithm. Encrypting identical data should NOT return identical value...
Anyway, i guess that code is just for your personal usage so, who care. No one is probably gonna try to break your code, unless you ask them to.
Imo that's good enough for personal use.
My first encryptor was showing a similar flaw (you could see parts of a bitmap image in the noisy background), then i just created another algorithm, which isn't perfect, but at least give no clue as in your image, everything always look 100% noisy, but even then, ppl started pointing flaws about it. (You definitely should read this post)
For me, i guess that just good enough for my need, althrough i never used it yet for anything, it was more for learning than anything else.
For the fun of it, i encrypted your image using my algo. discussed above, and it gave me this. That's what you should aim.
PS: dont take me too seriously, im no encryption expert...