Define "best". This really isn't a question with an answer since there are so many factors to take into account. The most important thing to remember about cryptography is that it is really easy to get wrong in really un-obvious ways. Even programmers who routinely work with cryptography often make mistakes which are later pointed out or exploited by cryptography researchers. Unless you really know what you are doing then the best approach is to use a library such as Keyczar/NaCL where all the important decisions are made for you by people who do. Both those libraries have wrappers available for scripting languages such as python
If you're interested in learning about cryptography then this course from coursera is well worth looking at.