Trevisan has shown that constructions of pseudo-random generators from hard functions (the Nisan-Wigderson approach) also produce extractors. We show that constructions of pseudo-random generators from one-way permutations (the Blum-Micali-Yao approach) can be used for building extractors as well. Using this new technique we build extractors that do not use designs or polynomial-based error-correcting codes and that are very simple and efficient. For example, one extractor produces each output bit separately in O(log2 n) time. These extractors work for weak sources with min entropy λn, for arbitrary constant λ > 0, have seed length O(log2 n), and their output length is ≈ nλ/3.