Blogspot - you can't protect individual posts. I've tried using encryption scripts but they mess up the design & layout of the blog. You can only protect the entire blog and give access to your friends by lodging their emails in your account. They have to log in to blogger/google before they can access your blog.

Wordpress - you can protect individual posts with a password. And the posts that you don't want anyone but administrators to read, you can make them private.

Or you can protect the entire blog and give selected users access. The selected users must have a WP account & have to log in to access your blog. Alternatively, protect your entire blog, create a specific user id/pw and give this to all the visitors that you want to give access to. That means they don't need to have a WP to access the blog.

In my blog, I have password protected posts. I also have a link to an old blog which has alot of private stuff and that is accessible only by selected users with a specific user id/pw. You can check it out.