Basically, Anagrams are like permutation of string.E.g stack ,sackt ,stakc all are anagrams of stack (thought above words
Sorting and comparing won't work as it's time complexity is pretty bad.
Exchanging time complexity for extra memory, just store the counts of the letters in a word in a 26-char (or the equivalent in whatever language you're using, and assuming you're using the Roman alphabet and only alphabetic characters) array and hash the array. You're stuck with O(n) time relative to word length, but most English words aren't really that long.
e.g. stack, sackt, and stakc would all have an array with the locations for s, t, a, c, k == 1 and the rest all set to 0.
Based on your comment, which implies that you are indeed okay with sorting the characters of a word as long as you aren't sorting words themselves, you could do something even simpler than Alex's answer and just sort the characters in the word strings and hash the results. (larsmans said it first, but didn't post it as an answer, so...)