I'm trying to do a little encryption program, but I want the whole public-algorithm-but-still-unbreakable-without-the-key deal.

First of all, please don't tell me anything except the exact answers to my questions because I want to make this thing with mostly my own creativity, I feel like a freeloader getting information and I would feel even worse getting ideas.

That being said, I can get to my questions.

If I encrypt something based on the password and it is totally unique to that password (no other password can be used to unencrypt the message) then am I not revealing the password in the encrypted file?

Is encrypting the message based on the message itself a possibility?

The whole idea of a public algorithm encrypted message being (virtually) unbreakable is based on the fact that the password is pretty long, and the more characters the harder to crack, right?

I wish I had more questions but for now I'm fresh out, thanks for any help.